[myTouch 3G, Magic General] DigitalJedi:
I was hesitant for a long time to root my phone and use custom ROMs because of the fact that the MyTouch 3G had a perfected SPL so it was more complicated to do and I didn't want to brick my phone. I read a lot on Wiki and various forums and decided to experiment. I got my phone rooted with a custom ROM with very little effort or time and I love it! Here's the way I pieced this together for my MyTouch 3G LE Fender (should work and HTC Magic, MyTouch 3G 1.2, and maybe the original MyTouch 3G).

First, as it has been mentioned in other threads, download and install Universal Androot. This does give you root access when inside the OS but from what I've seen it DOES NOT give you true root access before the OS loads. That's ok though.

With my newly founded root access I got ROM Manager and Titanium Backup premium from the market. I opened Titanium Backup and ran a batch to backup all user apps and system info and saved it on my SD card. I then downloaded the latest stable CyanogenMod ROM, the tiny Google Apps package, and RA Recovery v1.7.0G (optional) and saved them to the root of my SD card. Now the fun began!

I opened ROM Manager and chose "Flash ClockworkMod Recovery". The phone rebooted and flashed the new recovery image. I got back into ROM Manager and chose "Install ROM from SD Card" and pointed it to the CyanogenMod ROM. Again, it rebooted and installed the ROM. The first time you see your phone's splash screen and the new Cyanogen splash screen is a little unnerving because they are there for a long time. It only happens the first boot after installing a new ROM.

Now I was running CyanogenMod 6 (you can probably use whatever ROM you want). If I remember correctly this version has ROM Manager cooked into it. I went back to ROM manager and told it to flash the ClockworkMod Recovery image again and it rebooted and did so. I went back into ROM manager when my phone was done booting and chose to "Install ROM from SD Card" again but this time pointed at the tiny Google Apps package. When my phone rebooted I now had the new ROM & the Google Apps.

From here I reinstalled Titanium Backup, opened it, and chose to restore user apps and system data. When it was finished all of my apps and quite a bit of my cookies and settings were all back into place. I didn't have to go through the tedious process of reinstalling apps or re-entering password on websites. Very nice!

Now for some personal preference. After I got the setup of my homes screens, etc finished I went back into ROM Manager and chose to flash the RA Recovery v1.7.0G. Just a personal perference. The ClockworkMod Recovery worked very well so this is optional.

Another preference was that I got LauncherPro Plus. This ROM has ADW Launcher cooked in but to me LauncherPro Plus makes it look like Froyo more (because at this point I was running Froyo with a different launcher since the stock isn't in this ROM) and LP seems to be a good bit faster than ADW. Again, personal preference.

Just a few suggestions. Froyo seems to have a smaller footprint on your internal memory than Donut but seems to push the CPU more. I played with some apps and now my phone is insanely fast! I used Set CPU to overclock, Autostarts to limit the apps that launch themselves, AutoKiller Memory Optimizer to help keep RAM available, Advanced Task Manager to dump RAM when I need to, and CacheMate to dump cache periodically. I know that sounds like a lot but my phone has never been this fast before. Very nice!

1 last thing. My battery life sucked afterwards. I thought it might be the battery stats so I ran phone to 0% battery and let it shut off. Then I charged it up to 100% and left it on the charger for a few more hours. I did the same thing again. After 2 full battery cycles my battery is lasting 24-30 hours with moderate use (checking FB a few times a day, about 50 text messages a day, checking TapaTalk several times a day, and a few random tasks here and there). It just needed to be recalibrated.

I hope this is helpful to someone. It was really easy to do.