Eu uso principalmente o Subversion, e atualmente só sei um pouco sobre sistemas distribuídos, então falarei da perspectiva do SVN.
Se apenas você estiver usando o controle de origem, em uma máquina, as vantagens do controle de origem distribuído, bem distribuído, serão reduzidas.
O Subversion é um pouco difícil de configurar se feito manualmente. No entanto, existe um pacote (gratuito) chamado VisualSVN que faz o trabalho para você, então você pode apenas usar o SVN, e não precisa se preocupar com configuração ou configuração.
Se você estiver interessado na integração do Visual Studio para SVN, há alguns plugins que eu conheço: AnkhSVN (gratuito) e VisualSVN (pago). O último é da mesma empresa que produz o pacote de instalação gratuito do VisualSVN mencionado acima.
No que diz respeito à manipulação de vários clientes, cada um com projetos, você poderia usar um único repositório global contendo tudo. Outra ideia pode ser criar um repositório separado para cada cliente, cada um contendo projetos para esse cliente. Você teria um pouco mais de controle sobre cada repositório dessa maneira, mas haverá um pouco mais de sobrecarga para você.
Você menciona projetos de ramificação. O SVN faz ramificações no nível do repositório, você não pode ramificar apenas um subconjunto específico. Isso favoreceria a ideia de repositório por cliente mencionada acima. No entanto, no SVN, as ramificações e tags são baratas, já que armazenam changesets (deltas), não cópias completas. Ferramentas distribuídas como Git e Mercurial são otimizadas para ramificação e fusão, então a experiência pode ser melhor com elas - eu não sei o suficiente sobre elas para dizer com certeza.
Espero que ajude.