The problem with soaps and similar is that they will not dissolve mineral oil, which in turn is part of your chain lube. So using a dish soap is only marginally better then just mechanically cleaning the chain with rag/brush/any other device.
I tried couple of general use degreesers, and my experience is as follows:
Dish soap - not good at all. After use requires rinsing and then putting lots of WD-40 to prevent rust
Isopropanol - not strong enough - removes little grit
Acetone - surprisingly little effect on the grit
Petroleum ether (sold often as a paint thinner) - cleans well, but has to disposed of in dedicated points, not in sewage system.
WD-40 - works very well, but similarly is a pollution generator and also quite pricey.
There is one trick you can try - I never tried that on chain, as I can get dedicated degreeser online. The mineral oils are soluble in fats, and fats are very efficiently cleaned by dish soap. You can try to first put some cooking oil on the chain, and only then clean with dish soap. I use this trick for cleaning hands after working on drivetrain and it works very well - better than any soap/scrubbing/brushing combo I ever used.