Let's test that.
1 Faction = 1 possible matchup. A vs A. Very boring although inherently balanced.
2 Factions = 3 possible matchups. A vs A, B vs B, and A vs B. A little more interesting and a little more challenging to balance, still easy and boring.
3 Factions = 6 possible matchups. A vs A, B vs B, C vs C, A vs B, B vs C, C vs A. A lot better, more range than one can take for granted as a player. Also more than one can automatically handle as a designer, so imbalance becomes detectable.
4 Factions = 10 possible matchups. Now this is pod-racing. An elimination tournament with 8 players, resulting in 4 + 2 + 1 = 7 games, could have 7 completely different matchups each round. Not guaranteed of course. Trickier but not monumental to challenge.
5 Factions = 15 possible matchups. About 50/50 likely assuming no strong imbalance for an 8-man tournie to be all unique matchups. However, a 16 man tournie (8 + 4 + 2 + 1 = 15 games) would have to be insanely jammy to achieve this.
6 factions = 21 possible matchups. Very rich and possibly able to man a 16 man tournament very characterful, but we've probably breached human balanceability already.
7 factions = 28 possible matchups.
8 factions = 36 possible matchups. I'd declare this the reasonable limit for a group of designers who want to take a risk.
9 factions = 45 possible matchups. In the insane zone.
10 factions = 55 matchups.
11 factions = 66 matchups.
12 factions = 78 matchups. Stop here.
On the whole, 3 isn't a terrible number, but a little higher than it goes a long way without reaching the unbalanceable territory of 9+. 5-6 is good in my books.
Meta-take: start with 3, then add a further 3 over expansion packs. Consider two others as freebies. Once you feel tempted to release faction 9, stop and make a new game instead.