I don't remember how I upgraded it to ICS.. It seems that there are two ways to do it, one is from the phone settings menu. Another is more complicated, as explained
here.
I would stick to official Gingerbread rom or custom rom. The malaysian test approve ICS (B929) has memory management issues. Initially everything seems fine, and smoother than GB rom. Later on, I noticed that the home screen reloads frequently, after I opened and exit an app. Web browsing is barely tolerable, stock browser shuts down halfway for half of the websites i visited. The only improvements for ICS are the camera (more settings, HD video), and app compatibility, and smoother speed if you only use lightweight apps. I only have around 50 apps installed, and no widgets for home screen + lightweight launcher.
I just flashed custom rom a few days ago. Using 4.2.2 CM10.1 rom by GUNDUL46
link. Did not test extensively, but works great so far. Web-browsing with no issues. Again, I don't have animated widgets for home screen + lightweight launcher (zeam), and around 50 apps only.
Used
this guide to flash rom. Used CWM v5, since can't find v6.