I think that you can just flash the ROM portion without wiping anything and all data will still be intact just like if you were updating a nightly.
@mydian is still pretty current on the S3, hopefully he can chime in.
I moved on to the S5 so I may be a bit rusty but I'll try from memory.
Here are a couple things I would do:
1. Make sure you have a TWRP backup of what you have now, even if it's boot looping, saved on your external SD.
2. You already tried dirty flashing correct? I think so from what I skimmed through above. If not try it. Don't flash gapps just the rom. Dirty flashing doesn't lose any data/apps.
3. Wipe everything as if you're flashing a new rom. Flash the rom, and gapps to start over. Don't restore anything. See if the phone boots and works properly. If so boot into TWRP and restore only data from your backup. This will restore all your apps and settings. See if the phone still boots. If it doesn't you have an app that is causing the boot loop. In that case wipe the phone, flash again and use Titanium Backup to restore apps individually from your backup. It's a pain but it does work for the most part.
4. If that didn't work you're going to have to flash the stock rom. When going from CM or AOSP back to stock you have to use Odin or your S3 will have problems writing the the Internal SD. So 1st, boot into TWRP and wipe system, data, cache, internal sd, and dalvik manually (seems excessive but I always did it that way.) Then boot into download mode and flash the stock rom for your model and carrier S3 with Odin. See if that works. If so then root the phone again and go back to #2 above.
As long as you have a TWRP backup of DATA you can use Titanium backup and restore apps from your TWRP backup for the most part. I've had good luck with games and stuff on my S3 and Nexus 7 doing that.
Good luck and let us know what happens.