From my experiments, 3G call quality is marginally better than 2G - but in reality it really depends on your area. AT&T forces most users to an AMR-HR (half rate) codec on GSM which sounds pretty bad depending on the phone and reception conditions. 3G currently runs on full rate, but once 3G spectrum starts to run out, they might switch that over to half rate also, pretty much putting everyone back down to GSM quality.
Don't forget that many areas don't even have 3G coverage, and most of those that do run on 1900mhz which is generally accepted to have not as good reception as 850mhz which AT&T uses for a lot of its 2G coverage.
Some phones (most motorolas for example) can be hacked to force the phone to a full rate codec all the time. This pretty much gives you the best possible call quality (as good as 3G in my testing), but with the excellent coverage, reception , and talk time/battery life of 2G. Its pretty much the best you can get ATM.