Generally they are interchangeable, particularly when you want to tell others that you have a certain skill . For instance,
wo hui you yong/ wo neng you yong/ wo ke yi you yong. (All of them are correct, meaning I can swim.)
Another example,
wo hui shuo hanyu/ wo neng shuo hanyu/ wo keyi shuo hanyu.(These sentences mean I can speak Chinese and they are surely all correct .)
However, compared to the verb"hui", "keyi" and" neng" are used more widely in some other situations, such as giving a permission or a ban. For example,
"ni keyi zai zhe li xi yan/ ni neng zai zhe li xi yan. " Either of them means smoking is ok here.
While, "ni bu ke yi zai zhe li xi yan/ ni bu neng zai zhe li xi yan. " means smoking is forbidden here. "hui" is not usually used this way. " hui" mainly emphasizes "skill" as well as "possibility " sometimes. Let's say " ta keneng hui qu na ge juhui." (she will go to the party.) In this case, neither" keyi" nor " neng" can replace the verb "hui" properly.
On a whole, each of these three verbs has a variety of meanings and functions. Identifying them according to the context could be a good idea in my oppinion.