I've never thought about the rag or wanking sock method (I'm assuming you don't spray the lot with water afterwards?) WD40 used as a cleaner and lube or lube chain afterwards?
Was going to try this, but found there weren't many bristles left on the wife's toothbrush after I'd cleaned the toilet with it.
I clean the chain with the chain lube and a rag first (Wurth dry lube), then use gunk and a 1-2" paintbrush on the back wheel/tyre sidewall, swinging arm, rear number plate back of the engine. Then hose down the bike and wash it all with a suitable soap and sponge. When you change to dry lube the chain and back of the bike stays a whole lot cleaner and the chain and sprockets last a lot longer.
Who ever uses wd40 they really destroy their chains o rings, it's far too aggressive to the o-rings. Use chain cleaning products available in the market wd40 not advertise as a chain cleaner it's a contact cleaner and really destroys your chains. Used to use it never again ! Even destroyed my D.I.D chain !
Also using degreaser is far too harsh ! Guys omg I can't believe what I am reading here ! If any of you using degreaser for the engine to the chains you might as well don't bother to lube it because your lube not going to work! All degreasers got a protector for the engine parts to not get too greasy again ! Omg ! Probably the worst thing you can ever do to your chain !