If the roof is just dirty from years of debris from bad weather and doesn’t have mold or algae growth, then you can use a solution of hot water and soap with a little bleach. You need to cover the roof completely and let it sit for about 15 minutes to let it settle into the shingles.
Using a standard hose, spray the solution off the roof and it’s clean as a whistle.
If you have algae or mold stains, then you’ll need something a little heftier. There are cleaning solutions available at most home improvement stores that help remove the stains. Follow the directions for use and then use the hose to remove it from the roof.
If you’re worried about how the solution impacts the shingles, you can purchase a small bundle and test it out before placing it on the roof.