The cost of roof cleaning varies from $100 to $1500, depending on the type of roof. Generally, the price may vary from $100-$200 on a flat roof, $300-$500 on shingles, and $1500 on a slate roof.