But he's got huge amounts of compassion, too. Remember the notebook detailing where his pay was going? Then when he discovers the goblins plight at the country estate, in "Snuff".
I'd say that if he's a sociopath, it's in something of the pattern of Dexter, from what I know of that series (Never saw it, so, grain of salt time), he wants the really bad people to be taken out, even if the law can't make it happen. Unlike Dexter, he doesn't take their fates into his own hands, though, unless he can find a loophole, as when he dealt (sort of) with Dragon, King of Arms.