I think a huge part of the problem is that the iphone does not switch from 3G to edge fast enough when the signal drops.
I have been testing this out by manually turning 3G on and off and comparing signal strength and call quality. On edge at my house, I get significantly stronger signals and have yet to drop a call. On 3G at my house I get 1-2 bars, and it never switches to edge, even when the signal drops to zero bars. The calls have dropped 6 or 7 times, and not once did it switch to the edge network.
On my old iPhone 3G, the signal would routinely switch to edge whenever the signal dropped down to about 1 bar.
AT&T says the 3G network is everywhere edge is in my neighborhood, but the fact remains that the edge only setting gets better reception & fewer dropped calls. Perhaps that's because the edge network is less congested.
I suggest Apple looks into a firmware update that switches voice calls to edge faster when the signal degrades.