My 2 cents on the topic:
I recommend not to use TortoiseGit. It tries to apply SVN workfliw to git, which doesn’ t really work.
We use GitExtensions at our company for more than 2 years now. I prefer to use it with P4Merge instead if KDiff. It works much better(in my opinion).
And to answer a specific concern: GitExtensions does have an “Apply Patch” function integrated in to the UI. I haven’t used it yet. But by looking at it, it supports calling the preferred merge/diff tool when errors occur. Just like rebasing and merge. I don’t think it can be simpler as that.