The stock radio works just fine with iPhones, however one needs to pay some attention when trying to play YouTube videos. The radio interface doesn't fully understand the difference between videos and music, and it will try to play music in-between videos, often at a louder volume. I played that game for a while, then eventually found it was easier in the long run to go buy the CDs, rip them, and load the songs onto the phone. I've yet to find a long-term replacement radio that matches or beats the sound quality of the stock radio.
Radio Paradise is great. Cache up a couple hours on Ultra quality, set bass to +3 (+2 if your doors rattle a lot), treble to +2, and let the audio system shine. Not sure what or how they do it, but music just sounds better from them.
Adding the USB port is pretty easy. Pop the trim piece off the top of the radio, take out 2 screws holding the radio in, and take the radio out (don't unplug it, just swing it around and set it on the dash behind the cavity). Pop out the left blank on the bottom of the center stack and feed the radio end of the cable through and straight up through the dash. Snap the USB port into place and plug in the other end into the radio and put the radio back in. Make sure the cable is clear of the battery conditioning servo if your car is equipped.
"Bear" - 2012 Diamond White Pearl ES with QC - 2/21/2013
"Koorz" - 2012 Cool Silver Metallic ES with QC - 1/5/2015
"Photon" - 2017 Bolt EV LT in Orange with QC - 7/31/2017
Solar-powered since 10/10/2013