Good points-- I think partly the answer is that (as Elmo sometimes reminds us) historical accuracy may need to take a back-seat to playability. Now, that being said, Miyamoto Musashi had this to say about swords, halberds (naginata I assume) and spears:

"The best use of the companion sword [wakizashi] is in a confined space, or when you are engaged closely with an opponent. The long sword [katana] can be used effectively in all situations.

The halberd [naginata] is inferior to the spear on the battlefield. With the spear you can take the initiative; the halberd is defensive. In the hands of one of two men of equal ability, the spear gives a little extra strength. Spear and halberd both have their uses, but neither is very beneficial in confined spaces. They cannot be used for taking a prisoner. They are essentially weapons for the field."

He makes a great point that you cannot easily take prisoners with a spear, whereas it is easier with a sword (you can get behind them and hold it against their throat). He says elsewhere in the Five Rings (no time to search for the exact passage) that dual-wielding swords (katana and wakizashi) is the best and only effective way to fight multiple opponents.

Spears are good for facing off against a single opponent in an open area. They are therefore most effective in a dense formation, like the hoplites used-- so that each spearman is responsible only for the enemy in front of him. Swords, on the other hand--especially when dual-wielding, can be used to fight multiple opponents and are good in open areas and also in confined spaces.

Imagine you are a lone spearman fighting 3 swordsmen. Not looking so hot. Imagine now you are a lone swordsman facing three spears.

Facing multiple opponents I'd rather be dual wielding swords than holding a single spear.

So maybe there is something to be said for swords beating spears-- especially if the spear's formation is in disorder. But ultimately, for this game to work, there has to be a rock-paper-scissors element. Spears>Cav>Swords>Spears works pretty well.