I don't know if all TVs work this way, but at least on our Samsungs, when I go to the guide, programming is interrupted while it gathers the content information from the stream as it has to switch to each channel to get the info. It takes enough time to get a 4 hour block that it only does it for a page's worth of grid at a time. I don't know how far ahead content info goes and that may relate to the gathering time. So to gather continuous OTA program info would require that the scan process be able to grab the tuner for extended periods of time. That might be OK if you have the two tuner version (I swapped out the extremely overheating single tuner for cooler dual tuner a couple of years ago).
The method that Dish uses - I'm reverse engineering it - is to get the provider info during the channel scan and assign the channel/provider pair to the grid. Then use Dish's own content provider to make the grid content. I'd guess that if they used pure PSIP that the ability to record programs based on "name", ie, MASH which it translates to two 1/2 hour slots Sun-Fri - wouldn't work as robustly as it does.
Maybe a compromise would be to use Dish's content provider by default and then to use the PSIP as a backup. Something might be better than just 1 hour blocks of "channel name".
What I still don't understand is that up until the move MeTV made, Dish had a fairly good mapping of providers to the content. After a single channel moved from 8-1 to 21-1 and the entire 21-* channel group slipped up to make room, none of the content is there any more... They had MeTV and have failed to restore it to the new location. Again, I'll volunteer to fix the software bug.