To learn to be charming is fairly easy - you can teach somebody to be charming and to learn human emotions - or to learn the behaviors that go with human emotions. A sociopath, a smart one, will study the way we emote, and will learn how to do that quite effectively.