On large systems, 8GB of physical ram, we usually allocate 2GB of swap. These are loaded Database servers running Oracle or PostgreSQL. For years, I've never seen swap hit even under heavy load. Heavy load is roughly 100 to 150 users doing around 10,000 SQL READs, and maybe 2,500 writes per minute.
We also adjust the swampiness level up to discourage swapping and we turn off un-needed processes we know we don't need running. (Custom Linux builds)
Like Eddie, says above, 1xMemory is a good rule of thumb for anything under 4GB in my opinion. I do custom Linux builds for a large, fortune-5, company and these are the things we typically do; and we don't haven't had any issues in over the last 5 or so years I've been consulting for them.
On larger systems: 64bit Linux with 32GB and 64GB of RAM, these are our Oracle database servers, and we typically keep 2GB of swap around for things like Eddie points out above - idle processes will be moved to swap depending on your swappiness settings.