What do you guys recommend as a VM environment for XP on Windows 10? Hyper-V? Virtual Box? VMware Player?
Also, how do you activate XP? Do you have to find an old key somewhere?
VMware Player has worked well for me over the years, for XP and older OSes. I would probably go with Hyper-V now, depending on the use-case and the virtual hardware requirements. For example, the most common requirement for my customers has been to run some old software that uses RS232/serial ports to control old (but expensive to replace) equipment, such as CNC engraving machines. VMware has worked reliably for me in that application, passing the required ports from the host to the guest. I'm yet to try the same setup with Hyper-V but I do prefer Hyper-V over VMware now, so I intend using that in future, when the need arises.
As for activation, pretty much yes, you'll need a valid retail licence key. If you're lucky the old physical XP machine you're replacing/virtualising will have a retail licence attached to it that you can use. If not, personally, I would try to acquire a valid key somehow to keep it as legit as possible. There are numerous ways around activation of course, and I would not normally condone the use of any type of activation 'hack' but, in the absence of any other options, I wouldn't rule it out. I mean, Microsoft no longer sell XP licences (as far as I know), so it's not like you're taking money out of their pockets by defeating activation, particularly if you're virtualising a system that was previously activated and had a legit (paid for) licence. And, if you feel bad about having to defeat XP activation in some way, you could always purchase an additional, equivalent Windows 10 licence to stick on the machine. Not that the Windows 10 key will work with XP of course, but by way of compensation, just to keep Microsoft happy and out of the poor house.

If you're doing a fresh virtual installation of XP though, that shouldn't be necessary.