PCI-Express timestamp source that can be used in Windows?
Does your target machine have a High Precision Event Timer (HPET)? This seems like it would work, the resolution is within your requirements and they're common on recent hardware.  Is there any reason you can't use it?

If you're reading from Windows I'd be wary about the precision you'll get. Since Windows offers no guarantee when a thread executes the time between you reading from the HPET (or other timestamp source) and the time it returns is non-deterministic. Your time source will probably be offering more granularity than you can reliably obtain when the scheduler is in your way.