I have the DirecTv up on my roof as well. After the first year living up here and snow getting and staying on the dish, I bought a 12 volt car seat heater off ebay. I ran a lamp cord up the roof and epoxied the seat heater to the back of the dish. As the seat heater is actually inside a piece of heavy duty plastic film it is weather tight. When it gets snow stuck to it I attach the leads to a 12 volt battery for just about 5 minutes and keep watching the TV. Once the signal comes back I unplug the seat heater. Ya just got to make do with some Yankee ingenuity.

Spraying the dish with a good quality silicon spray helps a bit too.