Why are there exactly three colour charges for quarks?
The Cordus theory, which is a type of non-local hidden-variable design, gives a straight-forward answer: because three is the number of geometric directions for emission of discrete forces. Thus the number of fractional charges (colours) is dependent on the nature of spacetime.
The Cordus theory also explains why colour is only seen in fractional charge situations: because there are none of the three emission directions may be unfilled in unit-charge particules.
The pattern of discrete forces is represented in HED notation, which simply indicates the number of discrete forces in each of three orthogonal spatial directions [r, a, t].
For more, see the following paper  on the annihilation process.
1. Pons, D.J., Pons, A.D., Pons, A.J.: Annihilation mechanisms. Applied Physics Research 6(2), 28-46 (2014). http://dx.doi.org/10.5539/apr.v6n2p28