The exact cause of most canker sores is still unknown. There is no known way to prevent it either. Western medicine can't (and probably won't) solve all the problems, that is probably why chinese medicine still has its market.
http://www.nlm.nih.gov/medlineplus/ency/article/000998.htm
http://www.virtualpediatrichospital.org/patients/cqqa/cankersores.shtml