If you root it then upgrade to AOKP 4.1.2 custom ROM or any other custom or stock style ROM thats 4.1.X (Jelly Bean), then there is a REALLY easy trick. I know it's harder for US Cellular only because they are still using 4.04 ICS which doesn't support the menu you need to do this, you need JB for this trick, if you have it stock like on T-mobile then no rooting or upgrading needed, but US Cellular it is. I used it to unlock my tmobile, and my friend and mom both have us cellular. After you Unlock it you can always go back to stock if you want, just make sure and after you root but before you upgrade the ROM you do a nandroid backup to go back to. After you have a Jelly Bean ROM installed,
1. Type *#197328640# and it brings up the factory service menu (very usefull)
2. Select (1) UMTS
3. Select (1)Debug Screen
4. Select (8) Phone Control
5. Select (6)Network lock
6. Inside the Network lock menu, Pick option (3) Perso SHA256 off, Passed that is a screen that says something like "no options in this menu, current command is 11863", Wait for 30-60 secs, from there hit the menu button on bottom left of phone to bring up options, Select "Back".
7. The last command should have brought you back into the Network Lock menu, at the bottom is (4) NW Lock NV Data Initialize, Select it. You might be asked a saftey are you sure, some people not, after it begins that process wait a good 60 sec the reboot. Thats it! Phones Unlocked
It would be good for you to root and upgade a custom JB 4.1.x or higher ROM anyways as they have support and menu options for working on all CDMA/GSM/LTE Networks. Even if you unlock your phone using the IMEI number and paying 20$ for the unlock code, you will still need JB. They also have apps on the play store specifically for galaxy s3's, capable of unlocking for allot cheaper if your phones rooted.