I personally use diluted degreaser in a spray bottle and let it soak for 15 minutes, rinse with water hose(no pressure) and it's clean. Use caution around electrical, JMHO and good luck.
If your engine is hot, don't do it. When I was younger I would do it at the car wash, but I would drive straight to the car wash and do it first thing in the morning. Car wash wasn't but a mile or two from home. And don't hold the sprayer too close to anything.
I nowadays just do it from home with a hose on a cold engine and have had zero issues. I don't even have a spray head attached to the hose. I have a 2012 CR-V that I wash regularly, probably once a month and have had zero issues. Along with my other two personal vehicles that I do the same to. I don't cover or avoid anything. I don't hold the hose at any funny angles either. I just hold it straight over whatever part I'm rinsing. I might also add that I haven't modified or added anything to the motor as doing what I do could create issues if you have.
I drive to the car wash, which is about 1.5 miles away, then soak the engine with the tire degreaser/cleaner foam that is one of the settings on the dial. I let it sit for a few minutes, then turn the wand to the light rinse (which is actually softer than a typical garden hose) and hose it off. Works great and only costs a few bucks in quarters. Plus, I don't have the dirt/grime/etc. on my driveway when I'm done.
I've had a pressure washer hooked up just inside my garage door for the last 16 years and I use it for everything. I spray off the engine every few months but I am careful where I spray the high pressure. If you do it often, it doesn't take much to knock the dust off. I've cleaned engines with water since the 60s. I killed a TPS on a Park Avenue once and back in the old days, I had to occasionally dry out a distributor cap. Back in my youth, I worked at a used car dealership and I washed a bunch of engines.