I use a Cardo Packtalk Slim. For short hops around town, I just use the in-helmet speakers. But if I'm on a longer ride, I connect a pair of custom fitted in-ear speakers. The ones I use are from
plugup.com. They made molds of my ears when i saw them at a motorcycle show. A couple of weeks later I receive them in the mail. You can also have them send you a kit to make the molds yourself.
This has, by far, been the best solution for me. Everything is so much quieter (outside noise, music, phone calls, etc...) that it really helps reduce fatigue on long rides. Although having my wife's voice directly into my brain is another matter!
In case anyone is wondering, yes you can still hear car horns, tires screeching, etc... You just might not hear the guy at the stop light complimenting your bike!
You don't, necessarily, have to go the more expensive packtalk/plugup route. Any helmet mounted comm system should work as long as it connects to your phone and has a 1/8" female connector for the speakers that you can unplug.
Decibullz makes a custom fitted earphone that you can do yourself at home for much cheaper. I've never tried them but if I were doing it again, I would try these first.
I just noticed on Plugup's site that you can also get a Bluetooth around the shoulder earphone. Still pretty expensive (but cheaper than using a custom mold-comm system combo) but if you really have no need of a comm system, then this might be worth it to you. The upside is that you can use then anywhere and not just while riding.