Можно ли переключаться между 3g и edge через приложение, не закрывая приложение и не переходя в настройки?
Нет, это невозможно через SDK. Выбор между 3G и Edge - выбор пользователя (при условии, что 3G доступен, и выбор действительно есть), а не выбор программиста.
Вы можете сойти с рук на джейлбрейкнутом телефоне, но не через официальный SDK.