Find a local car wash that does engine steam cleaning. Does a phenomenal job and less issues with water everywhere.
Steam works wonders. I have a Chief 100 refill I use for all sorts of things around the house, among car details. Its killer for cleaning an oven, the shower, kitchen floor, etc. The $ you'll save in chemicals quickly chips away at the high initial cost of a quality steamer that will last you years.
I can clean an engine in about 60% of the time I used to, use 1/5 of the degreaser it used to require and I've yet to have any issues as there is so little water used it would be a challenge to cause a problem. As mentioned by someone else 303 looks great underhood and doesn't tend to attract dust and such. I clean our personal vehicles with only water on the inside and we have 4 kids. They're spotless when I'm done. No smells, no chemical residues, no $13 bottles of whatever necessary. 500-$1k for a higher end steamer is tough to swallow but it gives you a whole new perspective on how to clean.
I've powerwashed many an engine in my detailing years, just be smart and don't use a 15 degree nozzle at 4000psi and blast right into electronic components. Avoid pcm, coils, alt, etc. I would either use a soap nozzle or a 35-40 degree w a 1500-2000psi setup. You don't need much pressure at all for what is mostly plastic these days. These newer 1200psi ultra compact electric units work pretty well for this task. Having a method to dry would be beneficial as well. Air compressor, portable blower, leaf blower, etc. Heck even a nice shop fan works wonders.
I'm going to do both engine bays here in the next few weeks, I'll snap some pics. Neither has been touched since last April or May. They're not grimy but have their fair share of dust and general road grime