I think potrafić i umieć are more close to each other than móc. Still, potrafić seems to be more official, e.g. Uczeń potrafi wymienić najważniejsze wydarzenia- A pupil is able to point the most important events. However, I don't see general difference in usage of potrafić i umieć. E.g. "I can sing" can be rendered as "Potrafię śpiewać" as well as "Umiem śpiewać". As far as I understand the Polish usage, both verbs can be used synonymously.
1.Móc expresses often a possibility. E.g. :"Nie możesz mnie zabić" means "You can't kill me" (because, for example, I believe you are too honest person to kill me, or I'm persuading you, that killing me won't be good thing for you) while "Nie potrafisz mnie zabić" means "you don't have enough skills to kill me".
2. Móc expresses also state of being allowed to do something, e.g. "Mogę spacerować"- "I can walk" (when I was prisoned, I couldn't, but now I can).
3. Móc, however, can be sometimes used as a synonym of potrafić and umieć. Nie potrafię wysłać emaila- I can't send an e-mail (I'm not enough skilled to do this) can be equivalent of Nie mogę wysłać maila. The latter, however, can also mean "I'm not allowed to send an email".
4. Móc tells us also, that there is a possibility, that something can happen: Niemcy mogą tu wrócić- Germans can come back here.
I must say, that your question made me think a lot about this verbs. I'm not sure I can give a general rule, but I can resume as follows:
1. Potrafić, umieć and móc can be use in the sense of "having certain skills"
2. Móc can express state of being allowed to do something, while other two verbs can't.
3. Whether móc means "to have a skill" or "to be allowed to" can be easily learned from a context.
4. Móc express possibility that something may happen (the other two verbs can't).