I probably wash more often than necessary, but I enjoy having a clean bike whenever I have the opportunity to take a ride.
I do as has been mentioned, get a firehose nozzle, delivers a gentle stream where you want it, and also gives pressure where needed.
After a good wash, using a microfiber wash mitten, and an anti-spot detergent, I take the air hose to the bike starting top down to the wheels. If you do this make sure to have a plastic tip on air hoze trigger, so as not to scratch anything.
Then using a Microfiber drying towel, get the rest
I could say more but I think you get the idea.
This cleaning without taking off bags, and putting on a lift takes me total time of around 30-40 minutes.