3 to 5 is ideal for story. Sandbox is 4 to 8, with the upper limits being where games get a little too bloated.
I tend to prefer smaller casts, because you can afford to spend more time with them rather than dumping another plotline to follow. It also gets to a point where the sense of time gets lost and shit stops making sense.