I have a jailbroken iphone and I looked around in the system... turns out there is a plist boolean in /var/mobile/library/preferences/com.apple.operator.plist called "Show 3GSwitchOnCat10HW" Turning it on and rebooting will give you the 3G switch back. This also give you the old 3G network indicator instead of the 4G one.
Personally, I think AT&T is holding back a 3G switch because they would have some confusion (and explaining to do) if there was a new "4G" switch in settings, considering that the iPhone 4S uses faux 4G (HSPA+)