There are numerous different definitions of a "switch in" that one could construct, but I've selected the one that was the simplest to implement: Except for at the start of the battle, whenever one player sends out a new pokemon X (including through Baton Pass and U-turn), if there is a pokemon Y on the opponent's side of the field, then we say that pokemon X switched into pokemon Y. I call pokemon X the subject of the switch in and pokemon Y the object of the switch in.
If both players switch simultaneously, does it count as a switch? I wasn't sure from your definition because in order to be considered a switch an opponent must have a Pokemon on the field and if both opponents are switching, neither one does; or did I interpret that incorrectly?
If that's so, it might help explain the discrepancy between perceived number of switches made per battle and the number borne out by the stats.