In searching for a way to see if I could get my phone to ignore edge signals to favor 3G I read some posts about "toggling" the 3G mode to force the iPhone to first search for a 3G signal before locking to a stronger edge signal. It seems that even though there may be a weaker 3G signal available in an area, if the edge signal is stronger, it is used, as you might expect.
So, in my quest to see if there was any 3G service lurking near my home, I did the following.
1. Go to Settings/Carrier/Automatic and turn it OFF (this might be optional but one post suggested it. It also seems to work with automatic ON for me)
2. Go to Settings/General/Cellular and toggle the Enable 3G setting from ON to OFF and then back to ON
I believe the toggle of Enable 3G from OFF to ON makes the software try to find a 3G signal to lock onto before giving up and looking for an edge signal. I have uncovered more 3G service this way. However, with weak 3G signals that drop, you fall back to edge. I've also read some posts related to iOS 4 about editing a file on a jailbroken iphone to select only 3G service (i.e. ignore edge). But I haven't tried this as I have iOS 6.0.1 on my iPhone 4. Addtionally, there may be some Cydia apps like SBsettings or iControl that can disable edge and use only 3G from a control panel. Again, haven't tried them yet.
Now, if I can only figure out how to take out those edge cell sites without anyone noticing!