All credits go to original i9300 App2ExtSD Hack by mattiadj. I simply hacked it to work with U.S. versions and also I've added code so it will disable this feature when you don't have a microSD card inserted (app storage will default to internal when no microSD card is inserted).
E.g. If you have 16GB internal storage on Galaxy S3, you can install this witih a 64GB microSD card and swap the storage and get 64GB on your app storage instead of 16GB.
Before you can use this, you will need:
1) Rooted Galaxy S3 (SCH-I535/SPH-L710/SGH-T999/SCH-I747) or also Canadian versions too (i747m, etc...etc...)
2) A ROM/kernel with init.d support!
3) I've only tested this with TouchWiz-based ROMs, so it should work on stock ROMs and any TouchWiz-based ROMs, not sure on CM9 or CM10.
4) You must use the FAT32 or EXTFAT zip file below, depending on what format your microSD Card is in! (e.g. if you have a FAT32 microSD card, use FAT32)
To get this working, simply flash the zip files in your CWM Recovery:
Download and Details:
If you do not have init.d support, you can also enable on any rooted phone by using Script Manager, here's a quick tutorial:
I recommend you to FORMAT your microSD card once to get camera working flawless before using this hack!
How to disable this:
If for some reason you are having trouble, simply delete /system/etc/init.d/11extsd2internalsd.
if you leave your microSD card out during boot (then re-insert it after), your phone will work as normal (internal storage used for app data).