In general, you should have your roof cleaned once a year. Any less than this, and the algae and moss will have too much time to grow and spread, which could lead to serious maintenance issues for your home.