You sound like my old boss :-) I used VMs to develop USB drivers with great success.
At my university we wrote basic operating system, VESA and SATA drivers were mostly developed using VMWare.
And it is possible to connect PCIe devices to VMs, but it requires lot of work.