Using the SIM swap method:
After you get the APN settings to come up, you have to double check that att.mvno is still in the APN fields before you exit this screen. Stay on that screen for an extra minute or so after you enter everything. It takes over a minute for the iPhone to pull data from the SIM card, which is why it changes in the middle of inputting the info. I found that this is where the problem is.
It will probably take a couple of tries with swapping the SIM cards before you finally get the APN settings to appear and stay onscreen. The quickest way to do the swap is put the Straight Talk sim on your screen in the orientation needed to go in the SIM card tray. As soon as the APN appears, quickly eject and dump the T-Mobile (or Verizon) SIM card, and slide the ST card in the tray.
Mine has been perfect. It hasn't lost the settings since. No jailbreak required!