Blue-tooth Music Streaming is the way to go. I have a USB/iPod hookup and the Blue-tooth streaming and I never hook up my iPhone with the USB cable anymore. This way I can hop in my car, not plug anything in, and start playing tunes and when I stop the car I don't have to unhook anything. the iPhone will automatically pause/stop when it breaks the blue-tooth connection to the stereo.
The only disadvantage is you don't get to see the name of the song that is playing or be able to control the music from the stereo. This is not really a big deal since I prefer to control it directly from the iPhone anyway.
My other car has a factory hook up for an iPod/iPhone (no blue-tooth streaming) so I have to use the hook up with that one. One thing that is nice is your can control the iPhone from the controls on the steering wheel but one that that drives me nuts, is when you have you iPhone connected this way, it just displays "Accessory connected" and you can not change the music manually on the iPhone and you are forced to use the Stereo which can be quite a pain scrolling through long lists before getting to the right one. Many times I will get frustrated, unplug the iPhone, select the music I want to play, and then plug it back in.
The Sound is pretty Clean with the Blue-Tooth but I have noticed there is more "hiss" since I updated to 4.0 - Going to do some testing today with a 3G that has not been upgraded to 4.0 yet to see if there is a difference.
Below is a shot of what you will see if you have your stereo connected to your iPhone with a USB cable. You WILL NOT be able to control the music from the iPhone which kind of sucks. I wish they made it so you could control it from the stereo or the iPod/iPhone.