En términos generales, Git & Mercurial son lo mejor.
Incluso para un desarrollador solitario. El que sea
descentralizado es solo una ventaja mas(enorme!: Tienes backups * N lugares donde los tengas, puedes programar desconectado, todas las operaciones -menos subir y bajar- son rapidas, etc), pero todo el workflow es mejor. La razon #1? Porque es *facil* y *seguro* hacer branchs y merges. Esa es la maxima gracia de estos sistemas.
Con subversion y otros parecidos, se desarrolla un temor ha hacer branching porque los merges son casi tan complicados como hacerlos a mano (no siempre, pero muy frecuentemente, en especial, si el merge se hace muy "lejos" de su origen).
Git es mas popular y ligeramente mas rapido. Mercurial es mas sencillo y facil de extender/modificar (este es el que uso personalmente). Es posible usar el uno contra el otro (
http://hg-git.github.io/).
Te recomiendo este cliente (sirve para ambos, windows & mac), que te ayudara en especial para las tareas mas complejas y para tener mejores diff:
http://www.sourcetreeapp.com/
Aunque es mucho mas productivo por linea de comandos. Sin embargo, con esta herramienta te lo puedes saltear.
---
No le des vueltas al asunto y usa Git o Mercurial. Subversion es para codigos legados que lo esten usando (e incluso, puedes usar Git/Mercurial contra subversion, lo cual es muy popular). En estos momentos en sistemas centralizados tipo SVN, solo perforce tiene su gracia para la gente que necesita versionar binarios y no texto/codigo (ej: Archivos de PSD, Edicion de video, 3d, etc)