I’m using an X399D8A-2T at work, seems decent enough.
The IPMI/BMC works fairly well although I’ve managed to crash it a couple of times and had to cold reboot the server to get it back, although this was while in the process of testing it, we’re only just going into production with it now, it’s been stable now I’ve stopped mucking around with it.
I’m using Hyper-V 2019 and have passed through a Quadro P2200 graphics card without any tweaks or hacking beyond the official instructions (planning to use this box to host session based remote desktop services and trial some thin client options - working really well so far) so for your use case this should work well, although obviously I’d caution that the Quadro is certified for this sort of pass through where most graphics cards aren’t!
We did do a trial run using the Sata drive ports for RAID, but hit a snag of sorts - we were limited to raid 10, and the software didn’t seem very mature (no email alerts!) - it talked about there being some way to upgrade to allow raid 5 & 6 but I’ve been unable to find a means or cost for purchasing the upgrade.
Then, if you wanted to use the M2 PCIE slots in RAID (and say, make a small raid 1 virtual disk on them for a boot drive) then that all worked fine, but you had to use the SATA ports in RAID mode too, and you then had to use the on board raid modes with those drives - you couldn’t for example pass through the disks and use Windows Storage Spaces because that would mean creating a virtual disk for each physical disk, and you were capped at 8 virtual disks total (which is less than 8 AMD SATA ports plus 2 m2 ports…)
Anyhow, all this is a very long way of saying that I ended up putting in a RAID card to manage our spinning disks.
The board was quite expensive (we’re in the UK and paid £400) but this was offset by the very cheap first gen threadrippers that we bought to go in them (we bought two…)