The most of pain I've got from USB support - literally I have been fighting with getting my built-in SD cardreader actually reading cards - not pretending to do so, for months. And nobody from USB-team even bothered to reply something other than "try to experiment with some quirks".
The final decision to move to Linux was lack of Java support - OpenJDK isn't that cool as Oracle's twin-mate.
Its not a hate-speeh or a flamewar ignition, it's just my IMHO - FreeBSD is not a comfortable to have it on a laptop, especially with some proprietary drivers involved.