Know it all's are insecure. You are handling it correctly by letting him know that no one is always right. Remind him it is also rude to say that the Coaches do not know what they are talking about. That once he is a Coach he can coach any way he wants.
Manners in our society are important and are not a natural thing to all of us. We have to be taught the rules. Be sure you and your husband admit when you are wrong, make mistakes, or do not know the answer or how to do something. There is a great book called "How Rude" by Alex J. Packer, Ph.D. It says it is for teenagers, but you can look at the different chapters and use the info to help him with his manners. It is very basic and covers everything.
Use your words each time this happens. Gee, I do not know why they.... I wonder why they....
Then let him know there are tools, The internet, reading How it works books etc. to find or verify the correct answers.
Remind your son that the most intelligent people in the world, know that by keeping their mouths shut and opening their ears, they will learn more.
Also remind him no one like s a "prig". A "know it all" is a person that will not have many or any friends. If he does not have the correct answer and deep down knows that he is wrong, that is lying. Lying is a punishable behavior. If he keeps insisting that he is right about something, but he is not, have him prove it to you. Just say something like, "Hmm, I remember reading that apples do come in all colors. Lets look that up on the internet."
His behavior on the team is the worst. He is not allowing everybody else on the team to learn and enjoy their time. He is disrespecting the coach, who is donating his/her time. This is a punishable moment. "No computer for you if you do not keep your comments to yourself during practice."
Also remind him that the "Best" Baseball players all started out not knowing how to play. They did not have the skills. It took a lot of work and also a lot of patience with themselves. Coaches are there to help, not to tell you that you are wrong.