Bluetooth streaming is also a great solution. I like being able to change songs on the iPhone directly as it's quicker for me that using the BMW audio interface. I can also stream Pandora this way. Here's my recent thread on adding this functionality;
http://www.e90post.com/forums/showthread.php?t=771045