I don't think there is a hard Best Practice, It has to match your needs.
I am a friend of DHCP with reservations for my devices. This speeds up the onboarding if they are moved to different locations. But on some situations I set them statically. For example if I need to send traffic from the device to a RADIUS server for 802.1X.