I use a waterless cleaner with wax from the local Canadian Tire automotive section. Works very well. Then I go over the bike with ACF-50 to keep away the corrosion.
One thing I notice with waterless wash is that it's super hard to get into all the tiny nooks and crannies to get the gunk out. You need an assortment of brushes and things for sure. You have to spend a long time cleaning. There really isn't anything like water to get into all the tiny spots (both good and bad). I too live in a place with underground parking and no hose, so the waterless works well. A few times a year I find a hose and wash it with light soap, the traditional way, and then the rest of the time I go with the waterless.
For years I used the S100 acid based cleaner that you spray on and rinse off well. It works very well and super quickly, but I'm a bit ambivalent about that sort of cleaner now. Combined with a good douse of ACF-50 that keeps corrosion totally away, but I wouldn't use acid base cleaner without a good corrosion inhibitor.