3 is actually where I'd top it off. I tried maining 4-5 characters for a long time, but your secondaries start to drop off if you don't practice their movement (and it's hard to get comfortable with going back and forth between them, if they're too different). I'd suggest going for two, but you can be flexible and do three if two of them feel similar. If he's an outlier, and is better than the average person and maintaining several mains, maybe 4ish. Although there are players out there that "main" upwards of 6-7 characters (I know someone who's on my state's Melee PR that just counterpicks using any of the top tiers, without any preference), I feel like...once you get past 3, you're holding yourself back. Since all the time you spend maintaining good movement for all 4+ of those characters could instead be used to focus heavily on just the 2-3 you enjoy more or feel more comfortable with.
EDIT: I was throwing around the term "main" a bit loosely here. I agree with Narpas, in that you can really only have one "best" character, even if that goes back and forth between 2-3 characters you're proficient with. What I meant to say was you should try keep it to 1 main, and 1-2 secondaries to cover each others' bad MUs.