I use black streak remover on the whole motorhome. If it sits for a bit, it usually cleans stuff off. I did do the ZEP thing. One thing I have found is it lays down an incredibly hard surface. This means the dirt does not get absorbed into the paint or gelcoat. It makes it tons easier to clean, once ZEP is applied. Last Christmas I drove down a muddy, salty, dirt road. Covered the whole bottom half the coach. Being that it froze afterward, there was no way to wash it off. Since it was already on there for several months, I never took the time to clean it. Over Memorial Day, we drove through some incredible storms. 95% of it came off without washing it. I was very surprised. Really the only places it didn't come off, were areas that did not get hit by the water.
If you were to choose to just ZEP the roof, you have to pick a line where to stop, such as a drip rail. It leaves an edge were you stop, so you need something to hide the transition.