I use Jizer, a water-soluble degreaser. A 5 litre can costs about £20. It works brilliantly in my ultrasonic tank but I sometimes worry that it might spontaneously combust. It hasn't so far. Chains and cassettes come out squeaky clean but it's a good idea to rinse out all of the solvent thoroughly in several changes of clean water before drying in your oven at about 150C for an hour, and then dripping in the oil/wax/badger lard of your choice.