trick is, as i see it...to have a good person doing the hiring (and firing) of teachers. this is because if you have generalists teaching kids, they need to be dynamic and creative. if so, then they can teach young ones anything- regardless of specifics, at prathom level, its all about learning to learn.
the downside is that if you have one teacher for all subjects (non specialist), then you live and die by that sword, so to speak. if the teacher is lazy, or doesnt care, then ALL subjects get little treatment.
with many specialists, you can have a few bad apples, and still come out with a decent end-product.