I've had a Surface Pro 3 (i5, 256GB) since 1/22/15. When I first set it up it was sleeping like the proverbial baby, but as I installed more software I started having problems. After reading this thread and trying a few things I've got it working perfectly again. Like others, I was finding that the USB xHCI controller was the main culprit, staying at 100% the entire time, but I was also seeing what seemed like excessive activity on the MARVELL AVASTAR wireless controller and the drive controller.
I found that two apparently unrelated factors were causing my problems:
- The Cisco AnyConnect VPN Client. When installed, the AnyConnect client installs a service called "vpnagent (Cisco AnyConnect Secure Mobility Agent)" and also sets the "Cisco AnyConnect User Interface" for automatic startup. There is no option during installation or in the user interface to disable automatic startup. Interestingly, the service doesn't seem to cause any problems, but leaving the user interface running, even without the VPN connected, will keep the machine from going into the lowest power mode. You can disable the user interface from starting automatically in Task Manager.
- Bluetooth. This was the more significant factor. A few days after I got my surface I paired it with my cellular iPad to use the iPad as a wireless hotspot. This works great and doing it over Bluetooth consumes a lot less power, but what I've discovered is that disconnecting from the Personal Area Network on the Windows side does not shut down the connection itself, and that as long as that connection is active the USB xHCI controller will stay at 100%. If I break the connection by shutting off Bluetooth on either device, it will reconnect when I put the Surface on AC power. So, my recommendation would be to try shutting off any Bluetooth devices you have the Surface paired with except the pen. I have been leaving Bluetooth on on the Surface and keeping it off on my iPad so that the On-with-pen/OneNote function will continue to work.
Hope this helps somebody.