@ZipZap
Since you write like a methodic person I decided to test it for myself to understand if the "random switching from 3G to EDGE and back" was your isolated problem or a general one.
I can now inform you that the bug can be reproduced but I don't know the proper effective channels to inform the iPhone Tech Support, perhaps you or somebody in the community does.
YOUR PROBLEM: you want 3G but it switches to EDGE
MY PROBLEM: (can be reproduced) I want EDGE but it switches to 3G
How to reprodude on an iPhone 4s 64GB iOS 5.1 (9B179) as of March 13th 2012, Argentina Movistar Carrier:
1. Settings > General > Network > Enable 3G OFF (=2G: EDGE, GPRS, GSM)
2. Turn off and on the iPhone
3. Settings > General > Network > Enable 3G was automatically turned ON!
IMHO, "Enable 3G" looks unstable for your and my problem.
Kind regards, Michael