The iOS "emulator" actually isn't; it's running native x86 code including all system frameworks. That makes it much faster than the Android emulator which has to fully emulate an ARM CPU.
This is correct but kind of just shifts the question to "Why doesn't Google do the same for Android?", particularly now that the Honeycomb SDK is out because the Android SDK emulator running Honeycomb is so slow as to be completely unusable even on my quad-core desktop system.
Go native for the dev "emulator" is what I meant, just like Apple does for the iOS SDK.
All of the tools the Android SDK uses to build APKs (even NDK ones) support x86 as a target and Android itself will run on x86. There are certainly some apps that require ARM specific (eg. NEON) instruction sets but those are in the vast minority compared to the whole of the Android App ecosystem and Honeycomb running on an emulated ARM isn't really a solution for even those folks, the emulator is basically useless for everyone now.
It is slow... one thing you can do is hook up a real phone to your computer and use it in place of the emulator.
another thing is... are you stopping and starting the emulator every time you do a new build? I was at first, but it's way faster to leave the emulator running. Then just run or debug and it will start in the current running emulator.
yes, it is slow when you start it up first time 'cause it has to load all the dependencies and stuff but it's not so bad once it starts up and when you test something. having more memory helps a lot. try it.