Using a pressure washer will help get some of the dirt off...but nothing beats using a cotton towel to get them clean. I know it's time consuming, but when you're done cleaning every spoke, the outcome makes it all worthwhile. Also, try putting some wax on the rim every now and then, repels the water a little bit and makes the rim look so much better. You could use a self-acting wheel cleaner, but I'm not so sure how it stands up to a BMW rim (ie: paint fading, discoloration, etc) Someone else would probably know.
<img src='http://www.bmw-forums.com/forum/uploads/post-39-1071243759.jpg' border='0' alt='user posted image' />