They dropped the code copying requirement several years ago, so it's just a multiple-choice test. If you have a technical background and understand the basics of RLC circuit, it's pretty easy.
I used hamtestonline.com. I threw down for all 3 levels and just worked the program until it told me to schedule my test. I have an engineering background, so it went pretty fast for me, but it's a great piece of software that keeps track of subjects you need more help on and drills those.
In 18 hours of study I took all three tests and got my Extra in one shot. I got one question wrong on each test (74% or so is passing). Many of the questions have similar answers and if you don't read them carefully you can pick the wrong one.
The stupidity of it is that there is a fixed question pool, so by just drilling on this web site you will encounter all the questions and be pretty much guaranteed to pass.
That's kind of the easy part. The learning curve beyond the test is pretty massive, which is why I thought it would appeal to the guys on this BBS. It's pretty fascinating stuff, actually, and not "dead" like I half expected it to be. There's a lot going on with computer/radio interfaces and digital communication modes that is quite interesting.