Nice to see a post about this. :-) 100% of our deploys are done using symlinks.

We copy our releases into revision-specific folders (which are rev123, rev124, etc.).

Deploy is done using:

cd /software-revisions-folder
ln -sf rev124 current

To revert: ln -sf rev123 current

This means you might need to cleanup old releases from your production server though.