Swapping things to disk isn't _necessarily_ bad.
For instance, a Linux application might have some code blocks marked with __init or something. This will usually be swapped out to disk immedieately after being used, because there's next to zero chance it'll be needed anytime soon. It's basically code you run once per startup. Waiting until memory is sparse before swapping would mean delaying a problem, so much smarter to just use spare CPU/HD cycles and get rid of it now.
However, one shouldn't excessively try to find new ways to increase swap usage either :-D