Get it off the bike

There's no way to do this properly without taking it off the bike. Do that now.

Wash it

Hot water and dish soap for the win here. Use chinese/curry takeaway plastic boxes to contain the horror. Use more soap than you think is sensible.

Degrease

Grab some random degreaser from a DIY shop. White spirit is evil - don't use that. The 5 litre bulk degreaser is fine. The expensive stuff from bike shops works well, but don't bother.

Soak the chain in some of that for 10 minutes or an hour or whatever in another (or the same, I don't care) takeaway box. Poke it about while it's soaking.

Rinse

Yup.

Ultrasonic degrease

Get a cheap-ass jewellery cleaner bath off amazon or ebay or The Usual Scumbags. They're all the same. They all work.

Stick the chain in, and cover with degreaser. Run the bath for 10 minutes or so. Be amazed by the amount of shite that come out of the chain.

Keep doing this with fresh degreaser until you can see the bottom of the bath after the cleaner's been run.

Ultrasonic rinse

Run the chain in the ultrasonic bath with plain water.

Keep doing this with fresh water until you can't smell the degreaser any more.

Dry

Stick the chain in the oven at 60 degrees C or so for as long as you can bear. I dunno. Half an hour? An hour? Get that shit real dry.

If there's oil seeping out of the chain when you take it out of the oven, put it back in the bath, and degrease and rinse again.

Reinstall

Put the chain back on the bike. You should probably have cleaned the rest of the chainset in the mean time. You can use the ultrasonic bath and degreaser for that too if you like.

Relube

Grab your favourite lube and put a drop on every roller. Run the chain backwords for a few seconds.

Relax for 10 minutes.

Repeat.

Grab a clean-ish cloth and run the chain through it to take off the excess lube.