I was one of those people that was having issues with ICS on E4GT. Some problems were:
1. Bottom buttons would have a startup lag when turning on the display--would not function.
2. GPS was non-functonal.
3. LOS issues, especially with 4g.
4. Frequent force closes of apps.
5. Some other issues I can't rememeber right now
How I upgraded from EL29 to ICS 4.0.4:
I also never got the ICS push so I downloaded it and installed it with Odin. I did not do a factory reset because I was lazy and wanted to keep my data and setup. Technically, Samsung would not require you to factory reset your phone to upgrade... but in reality this type of upgrade is the reason for all of my problems.
To fix:
1. I used AppBak app to backup all of my apps for reinstallation after. This would work assuming you have an SD Card installed.
2. I Odined back to EL29 with root using the following youtube tutorial:
How to Root the Samsung Galaxy S II Epic 4G Touch on EL29 - YouTube I chose the Odin file that does not preserve your data.
3. I started the phone and connected it to WIFI to download the ICS update. I used the phone's internal updater "Check for Android Update" under the settings menu, about phone--not Kies or anything like that.
4. Started the update. Once the phone installed ICS and restarted, I turned off my phone. I held the power and volume up to boot into the standard samsung recovery (shouldn't be clockworkmod after your Odin back to EL29) and I cleared all cache/dev cache and did a factory reset.
5. Reinstall all previous programs using AppBak.
This procedure completely fixed my problems and now the phone runs great. It's hard to tell whether or not it is faster than GB since GB ran like butter... but the interface is definately improved. I use Go Launcher since Samsung did not include the proper ICS launcher with this update.
I am not sure if step 4 is required, but I included it for good measure in case starting the phone in GB created cache files that we're not subsequently removed by installing ICS OTA. Considering all the problems with the initial installation, I wasn't going to cut corners and take a chance.