No existe algo así como "el mejor". Sólo hay opiniones.
Así que aquí va mi opinión. Puede parecer una locura, pero me gustan los IDEs, y me gusta mi cliente Git incrustado en mi IDE. Mi IDE es IntelliJ/WebStorm y el cliente Git me parece excelente, al igual que el resto del IDE. Nunca he sentido la necesidad de buscar nada más.
Mientras que otras personas están cambiando de una herramienta a otra, yo estoy pulsando command-k, escribiendo una descripción de commit y confirmando/empujando los archivos que IntelliJ ya ha notado que he cambiado o añadido. O puedo excluir algunos, o moverlos a un conjunto de cambios diferente, o lo que sea. Antes de hacer el commit puedo comprobar rápidamente los diffs en el mismo diálogo. Ah, sí, y puedo obtener un análisis de código opcional, reformatear, optimizar la importación, etc. antes de la confirmación, también. Branching, merging, rebasing, todo tipo de diffing son todos allí, también, junto con una vista de gráfico, etc.
Espera ... ¿mencioné que también me veo obligado a utilizar Perforce, pero IntelliJ trabaja tan transparente con él como con Git, y todos los comandos y diálogos son idénticos o similares? (hay admitido y obviamente algunas diferencias de proceso de menor importancia debido a los diferentes modelos).