Yes the roof can definitely cause spikes in temperature especially when no wind is blowing. Is there anyway to extend it a few feet higher? If not, a new location may be the answer. That being said, 2-3 degrees is within spec also. The only way to compare your tower sensor and 5 in 1 is to have them co-located. Even 20 feet away can be different temperatures as I've learned in the past.