[AT&T Samsung Galaxy S 4 Android Development] walletless:
I need to unroot my phone before adding work exchange account since their policies do not allow rooted phones. Hence, follow these steps when updating to a new ROM. Hope it helps others too. The steps are based on TWRP recovery but they are fairly similar for CWM touch too.

Backup before flashing new ROM

1. Remove exchange account, Boot into recovery and select Backup (Nandroid) - check all boxes and swipe. Wait for it to finish.

2. Select Back, click Install, then flash supersu.zip from recovery (You can download the latest supersu from here: http://download.chainfire.eu/supersu)

3. Reboot to system, open Titanium Backup, from batch actions select All Apps & System Data

4. Backup Wifi access points- Go to ES File Explorer -> root explorer. Mount / in read mode, backup /data/local/misc/wifi/wpa_supplicant.conf

To restore after flashing new ROM

1. Boot to recovery, wipe Factory reset, wipe dalvik and cache, then flash new rom without any add-ons and boot.

2. Boot into system, add primary gmail account, Wait 10-15 minutes, then Restore /data/local/misc/wifi/wpa_supplicant.conf file and reboot. Delete your backed up copy of wpa_supplicant.conf file since it contains password in plain text.

3. Update all system apps from Play store

4. Install apps that adds account settings. However do not add exchange account yet since phone is still rooted. For me, the apps are outlook.com, Skype, Facebook, LinkedIn, Dropbox app; open each app and add account

5. Boot into recovery and flash all addons (I flash AT&T build prop, crt off, fb sync, smemo, battery mod 3, in-call record, remove adblock)

6. Boot to system and Add FB sync - again, do not add exchange account yet

7. Restore all user apps from TiBu. DO NOT select system data

8. Restore device id from TiBu and reboot (This is needed for my Exchange MDM to keep working. If none of your apps need this, feel free to skip the step)

9. Restore Touchwiz from TiBu (Note: OP does not recommend restoring any system settings. However I have never experienced issues because of this. If you experience issue, redo all steps and skip this step before reporting problems in this thread).

10. Reboot

11. Open adaway and apply host file (If you are not using ad-away feel free to skip this. OP already has ad-blocking however I cannot use that due to need to whitelist some domains).

12. Install and configure all apps that need root (for me this is busybox, secure settings, xposed framework, wanam xposed)

13. Add and configure missing widgets to touchwiz home screens (Android does not allow tibu to do this)

14. From SuperSU select permanent unroot then reboot to recovery

15. In recovery mode wipe dalvik/cache, fix permissions and reboot TWICE (I have found horrible battery issues if I reboot just once)

16. Re-add exchange account

17. Change sound/notification settings for each app to your liking

18. Configure wall paper, lock screen, email signatures

19. Configure Straight talk APN (If you are not using straight talk skip this step)

Name: StraightTalkLTE

APN: tfdata 1

Port: 80

MMSC: http://mms-tf.net

MMS Proxy: mms3.tracfone.com

MMS Port: 80

MCC: 310

MNC: 410

APN TYpe: default,supl,mms,hipri

20. Configure camera settings

21. Set alarms back

22. Re-add any bluetooth pairings

23. Wait one full day for the kernel to settle down before reporting battery issues, if any

24. Profit :)