I use a water-based degreaser that I've been using since 1986 when I first used it on my chain drive motorcycles. Back then, I used to buy it a liter at a time from the local flying club where I worked as a flight instructor. The product was used to wash the training aircraft whose under bellies would be coated with oil and grime.
I have since then used the product from anywhere in the kitchen to my car to degrease them.
The product is Facto AT30
made by Swish
Although it can be diluted with water, I use it straight. A bit is placed into a small plastic container which I then dab my paint and tooth brushes into. Agitate the oil soaked & dirty area and rinse with water.
An engine detailer's best friends... The end result. This is a 15 year old engine bay...
And along with Xenit Citrus Cleaner & Remover which was then rinsed off with Facto AT 30, the underside...