Don't need to (take off). That pic is the best bike BTW, but my others are the same. Cassette - quick squirt of WD40 on the sprockets (not much) and then I run a rag (old t-shirt) through in-between each sprocket in an up/down motion so it spins the cassette round. Then run through again with dry part of rag (usually oily anyway).
If MTB on a gritty run, then it's low pressure hose off cassette and chain, then above but more WD or GT85.
Chainrings - just run the rag round each side - dry or with a little WD on the rag.
I now commute fixed, so that is real easy to keep clean - chainring, again run rag over chainring, but don't spin it - folk have ended up with missing fingers. When I was commuting on the MTB, used the same process as above.
I'm a bit OCD about bikes, so I wash the bike down after a wet ride and lube the chain. This also means I run the rag round the sprockets/chainrings. Doesn't take long if you do it regular. I don't put de-greaser near anything. - Tiny squirt of WD40 on the cassette, or direct to the rag to clean chain.
Ps I regularly get comments at work 'did you miss the rain or something', 'you don't bloody ride that - it just sits in your room', 'ah I see it's OCD clean again'.
Clean bikes are the fastest, especially when red (or blue). FACT !
PS totally busted for being a bike tart today. Brought bike up to office, two female staff chatting in corridor - excused my way through (with bike) one says ' oh very impressive, matching clothes as well'. Doh