I know that pixel-perfect collision detection is slow, but I don't assume that it is that slow.
It is that slow. I doubt you'd find it in any commercial product. You might be able to get away with it for 2D if you're not doing a whole lot of collisions since we have hardware that can run stuff like Crysis, but if you go that route, you'll be articifically inflating your CPU requirements. A lot.
Collision detection is correctly done by reducing your shape to some kind of geometric primitives (in order of speed fastest to slowest: circle, rectangle, convex polygon, concave polygon) and then using geometrically-intelligent algorithms instead of just brute-force testing each pixel.
Edit: And since you can get what appears to be pixel-perfect collision detection except under the closest scrutiny with correct methods, there's no reason to use the method you're going for unless you're just making a demo to learn, don't care about speed, and aren't interested in researching much collision detection. But if that is the case, then go for it. (It's possible to get lost/overwhelmed in learning projects if you worry about stuff like this too much. Just keep in mind that if you're serious about making games, it's a topic you'll have to come back to later.)
Edit Edit: If you actually really, really need pixel-perfect CD for some kind of exacting simulation or whatever, it would best be implmented as a "final check" that's only done if it's tested positive for "normal" collision detection. But that would still just be a waste of CPU for 90% of games. Remember, games don't need to be perfect simulations- they just need to look like it.
Edit Edit Edit: And that's assuming completely untransformed (except translation) collision detection. If you have to scale and rotate each pixel before testing, you'll end up with something that will bring a NASA super computer to it's knees.