I use both the CLI and GUI. They both have their merits and demerits. While a CLI may have faster commands, a GUI helps a lot when trying to make sense of relationships between commits branches and visualisation in general.
I like Sourcetree for this particularly because its buttons map fairly well to the actual CLI commands that it will be executing, and makes it painless to open a CLI terminal for instances where I want more fine-tuned control.
But... I'm still primarily a CLI user. I've just configured difftool and mergetool to call up Beyond Compare. git gui and gitk make designers weep, but I've never felt hindered or slowed down in what I want to accomplish with them.
I'll try a new GUI tool every now and then, and I haven't found any that make me feel more productive than the CLI augmented by the tools above.