Having used all three (svn, hg, and git), I prefer hg. svn is intuitive at the expense of flexibility, while git is flexible at the cost of intuitiveness. Hg strikes a nice balance, providing the flexibility you need while retaining a clear and understandable interface.

I should also note that I've watched several projects migrate from svn to git, and while this has undoubtedly caused much confusion and downtime, it's been hard to identify specific instances where git has provided measurable benefit. Yet one project after another keeps migrating. I'm confused, and can only assume there is some hidden benefit to git that I'm unaware of.