Sparring sucks - not only your dwarves need decent fighter skill to even start, they don't even use their weapons! I've made some tests, embarking with lots of food and gear for everyone, so they will do nothing but train 'till the caravan arrives.
Things that have no effect on skill gain:
- Weapon type
- Training weapons vs. real ones
- Personal weapon preferences
- Dwarf's physique/personality
- Active/inactive mode
- Squad's size
Things that have noticeable affect:
- How crowded the training room is
- Dwarf's stamina
One thing I've noticed during tests is that dwarves assigned all to 1-tile training room gained skills slower than those with large rooms or individually assigned to different armor stands. Those in crowded conditions gained at most Proficent level 'till the caravan, those in spacious conditions managed to go as far as Adept.
Other thing - those that were slow to tire and more fared much better that those who were quick to tire. I guess they made less breaks. There was about 3 levels of difference between the extremes.
So, do NOT set your training squads as active because they will keep teaching themselves dabbling levels of everything over and over again. Squads who spend their time on individual combat drills acquire, on average, 1 weapon/fighter/discipline level per season. You might want to make officers from high stamina dwarves, as they will develop skills faster. Once you have >Proficent Fighter soldiers you can set them to active so they will spar and train dodging/shield user.