I have some low tech, low cost suggestions, what worked for me. While I had my engine out, and hanging like a piñata, I used hot water with some Pine sol cleaner dumped in. That and a series of plastic bristle brushes I got from the auto parts store, as well as several toothbrushes from the dollar store- for going around bolts and stuff.
Pine sol mixed with some hot water in a bucket works well. Careful around the wiring and electronics, use common sense like you would with other degreasers, etc. My applications were for a major clean-inspect detail and refinish. It would be a bit overboard for weekly detailing but you get the idea.
After Pine sol, again- fresh hot water in the bucket. I mist the remaining nasty bits with simple Green. I let it sit awhile, and come back with more brushes sloshed in hot water.
After that, I rinsed with hot water, again, careful where it all ends up. I used some Dawn dish soap too in a similar manner. I have an air compressor, and carefully blow excess water off without blowing it into connections. I have heat in the shop and I crank it up to 80 for awhile to dry everything up nice.
All of the intended store bought-degreasers left an oily residue, or just did not work as well as what I talked about.
For me, the real test was, if I can paint or prime over it and not get fisheyes or grease spots, I know it was clean. Just some homebrew thoughts from a mad man. Stuff I read about and then have gone with it myself. I keep a old spray bottle with 50-50 mix of Simple Green and water, or the 50-50 Pine sol for spot jobs.
I use Kerosene for cleaning chains and sprockets.
FYI, all of these things when atomized in spray bottles, can make for a funky smelling mist that cuts your air off.... open some doors...!