USBPCap + Wireshark is a great new open-source solution that I recommend.
I've had good results with Event Tracing in Windows (ETW), as described at (link) (part 1) and in part 2 of that post. I remember the setup being somewhat involved though.
USBlyzer and USBTrace are both good products but they come with a $200 price tag. They both offer demo versions though and I've had good results with them. They're very easy to set up and use.
For a list of other tools see: here