John,
there is no best practices.
It depends on your applications and needs.
For example, for caching, some people prefer to optimize the disk space, and other the response time.
So, if you do destination hash, you guarantee that all traffic for one site is always handled by the same cache.
Therefore you optimize the disk space since you will not find the same object on all caches.
BUT if one site attracts a lot of connections, the cache device that handles that site will be overloaded (for example youtube.com)
Leastconn is a good option in theory.
The device that has less connections should receive the next one.
The problem is if you have flapping links or servers crashing or if you do a lot of maintenance and add/remove servers frequently.
This confuses the algorithm and is the source of a lot of bugs.
My recommendation is to go with roundrobin unless you have identify that you really need another algorithm.
And you can always start with roundrobin and see what happens...
Gilles.