I do not have experience with BitKeeper, but at ArsDigita we have used CVS and Perforce. While CVS is good, we have been extremely happy with Perforce. It is much faster and easier to maintain. The permissioning works well and atomic checkins are very useful. Also, branching is more user-friendly in Perforce than in CVS.
Switching from CVS to Perforce was a bit challenging with the new terminology, commands, and infrastructure, but it wasn't too bad. In fact, one of the developers wrote a CVS to Perforce transistion guide - http://developer.arsdigita.com/acs-java/resources/perforce/cvs-perforce-transition.html.
For those of you worried about the license cost, note that Perforce licenses are free if the server is used for development of open source software. See http://perforce.com/perforce/price.html for more info.