Pressure washing is my starting point when I can, but the solvent tank (stoddard solvent) does the heavy lifting in my shop. I'd be lost without it.
I've used dish soap, cellosolv (simple purple), anionic surfactants (TSP, dish detergent) and enzymatic degreasers. Nothing holds a candle to solvent. Degreased parts sometimes get derusting treatment with metal etch, ospho, or evaporust in a closely watched bucket. Depends on it's final use, but I do this a lot for automotive small parts. Big rust gets an electrolyte bath and a recharge...
An opportunity came, and I procured an ultrasonic cleaner from a closed dental office. I use lab beakers in the bath to sonic clean tough stuff using cellosolv or acetone. Mostly, I just use warm water. It works fantastically. I would recommend sonic cleaning to anyone who gets their hands dirty in a shop. When I'm rebuilding an engine, the sonic cleaner runs constantly.