I'm sure you'll get a lot of suggestions, but last time I used a 10% mix of Purple Power (equiv. to Simple Green) and water, and a garden sprayer to soak the entire roof.
While I let that sit for 5-10 mins, I mixed car wash and another 10% Purple Power in a bucket. I dip my soft wash brush into that and then scrub the roof (like this brush here
). I then hose the entire thing off. The results were pretty good.
A friend of mine has since suggested adding a 10% bleach solution to the initial soaking of PP, so I'm going to try that when I wash and winterize it sometime in the next couple weeks.