I just put a Jensen VX7020 into my '05 SE with the JBL. You have to get the TYTO-01 harness that Best Buy sells. They charge $99.00 for it, so bookmark the Amazon pricing before going in there, so they match it. It's like $52 on Amazon. Just adding this harness and adjusting the gain to boost the output going into the JBL amp clears up all the hatred I had for the stock sound. I don't get why, but the rattling bass, and muffled vocals just clear right up.
Then BB also sell an Axxess SWC interface to retain those steering wheel functions. You go through a manual programming by plugging the module into a PC and picking your vehicle. You can actually add secondary functions while in this mode. For instance if you want to be able to mute, you can say a button press will be volume -, but a button hold will be mute. I wanted the ASWC-1 from Metra because it's all self-learning but it was a Sunday and nice out, so I got impatient and that's all I could get my hands on. It wasn't a difficult install or programming with the Jensen VX7020 though because it had a built-in menu function that correctly mapped all my buttons out of the box. The only function I had to make it "learn" was volume +.
Then you grab fistfuls of wire and punch it all back into the dash. The biggest pain in the arse part was the factory stereo had alignment tabs for the mounting brackets that didn't line up with all the holes on the new unit. So I had to take a drill bit and make a new hole in the side of a brand new stereo. I didn't have a depth stop either, and I blew right threw it. Luckily I didn't hit any electrical inside the stereo chassis.