Frank is not a sociopath. Sociopaths gain their ability to manipulate by being able to see with an unemotional eye the bare mechanics of cognition. But it only goes so far. Frank would be unable to attain the heights of his ambition without keen insight into his own emotions.
If you watch the show carefully, you can see exactly how Frank manipulates people. He zeroes in on a core character flaw and slowly tugs on it until they unravel. Just seeing that flaw requires an unbelievable amount of insight that would be unattainable without a full set of mental tools, something that sociopathy robs you of.