Disclaimer: Putting water in to an engine compartment could potentially cause problems if water penetrates any electrical connectors, and especially if it gets in to the coil packs, or down in the spark plug area.
That said, I've been doing that for years and never had a problem. Ideally you can take some all surface safe degreaser with a stack of rags and clean it off by hand manually. It will take some time, but you can eliminate the water part of the process.
Personally, I spray it with water then degreaser and get an old wash mit and scrub every surface I can and hose down. Then I hook the hose of my shop vac on backwards and blow out as much water as possible. Hook it back up and suck whatever else I can get, then finally go back through with a towel and get rid of the rest of what I can.
You should really only need to use the degreaser once or twice. Once you have removed all the gunk, a cloth with regular soap and water (sometimes a brush) is all that should be required. It took me a few cleanings once I got the car from Honda to get the engine degreased and as clean as I would like it, but now it's only a simple matter of quickly washing then rinsing it to keep it that way. I normally clean it every second wash. You shouldn't really have to spray water anyway, flowing it is normally enough. And don't worry about electrical connectors (including the spark plugs). It's almost impossible to get them wet.
I worry a little about most commercial degreasers because they have a tendency to quickly corrode aluminium. But if you don't leave it on there very long and can stand some light white oxide forming in areas you missed when flushing, there isn't much concern.