Let me get this out of the way. I'm a fairly avid car detailer, I hang out on Autopia, I buy and try tons of stuff from our vendors, I use sealants and wax, own and use both an orbital and random orbital polisher, know my way around wool pads, etc. I clean the inside of cars with water and use water based vinyl dressings like 303.
So now I can recommend Armor All Wheel Protectant and you might understand why I'm hesitant to do so. But it works. Great. It doesn't keep the wheels 100% clean, but maybe 90% after a week, and still maybe 75% after two weeks. Provided it doesn't get wet, it will hold up for a month of skipping washes, if you're so inclined.
Our 1er is Jet Black, and to keep it looking clean, it requires fairly frequent washes, but it's garaged day and night, so I can usually get away with one or two washes a month and I tend to do a full detail twice a year and add wax over the sealant every other wash or so. Be aware that wax will attract more dust, sealants will keep it down, but tend not to have that last little bit of pop, should you care.