There is loads of differing advice on chain cleaning and lubrication. I've just switched over to a wax based product. Basically you need lubrication in the rollers of the chain and try to keep the rest of it fairly dry, otherwise it will attract muck, which can very quickly turn into grinding paste that causes your components to wear out faster.
Muc-off bio degreaser is pretty good for cleaning your drive train (try not to get any into your hub, wheel bearings or bottom bracket for obvious reasons). I just pull the chain through a couple of cheap scrubbing brushes. A good rinse with clean water, let it dry and then re-lube (just a drop of oil each of the link pins in the inside of the chain is all you need). Spin the chain backwards a couple of times and then let is sit for a bit. Then just wipe off any excess.
As for the cassette and chain rings, degreaser and a stiff paintbrush should do the trick. Spray on the brush rather than the cogs, clean, rinse and dry. No need to oil afterwards.
You need to rinse any salt and mud off your bike as soon as possible and dry it before you put it away. Also, consider using a protection spray such as Muc-off MO-94 which drives out water and leaves a film of silicon which makes cleaning much easier. Just not on your braking surfaces :-0