My family and I were in Denver just last week. We stayed nearer the Sixteenth street mall than anywhere else. Most of my family has 3G iPhones. Most of my family had trouble with calls. I have a Droid X with Verizon, and I had a little trouble with data there, but not so much with calls, not at all like they did.
What should you do? Complain. Threaten to switch when your contract is over. Get a landline. Tell Verizon, Sprint, an any other cell phone service provider your troubles if they'll listen. See if anyone will buy out your contract if you sign one of theirs. Let Apple know you like their phone, but the service sucks. While you're at it, let AT&T know the bikini wasn't invented in my home town, Lake City, Florida, unlike their erroneous claims in their recent marketing campaign. Also, AT&T's service there is terrible, too. I don't know how my family puts up with it, and if possible, you should do whatever you can not to.
But yeah, it's not your phone. Theirs had similar problems. Good luck!