This is a frustrating issue for a lot of parents but remember to be calm and patient with him. The more frustrated I became with my child, the more she regressed after being trained.
We started using a reward system and it worked like magic. Because your son is in preschool - I dont know how well this would go over - but it is worth a shot! Every time my daugther went on the toilet she would get a "treat" - animal crackers, or fruit bars are great "sweets" for them and healthy for us parents.
Since your son is in preschool, maybe try out the reward system at home and then tell your son that if he keeps it up at school, each day after school he will get a reward. You can have the teacher keep track and let you know how he is doing.
Best of luck!