I picked up a useful tip recently on how to deter Pigeons from roosting on your roof, and it works!
All you need is a toy rubber snake, but it must be black. Simply place it on your roof where they like to settle, and the Pigeons will disappear as soon as they spot it. Apparently they're afraid of black snakes.
I haven't had a Pigeon on my roof since the snake arrived!