Why is the Android emulator slow?
The biggest problem is the whole rendering process. It's basically a software OpenGL renderer running inside an ARM emulator. Thats really expensive to do. Try playing around with AVDs that have various screen sizes. You will see that (mostly) the AVDs with the bigger screens are way slower (e.g. tablets are unusable on my machine, hvga is almost like a real device).
Google is actually working on this, they demonstrated a (very) early hardware-accellerated, OpenGL based solution at the Google IO ADT session
(minute 42:00 and onward) this year.
Until this is done, the only thing you can do is increase the RAM (as long as you have free physical RAM on your machine, if you add more than you can afford you will cause swapping, which slows things down even more) and enable snapshots for a faster startup.