I have the same exact problem as you, man. I just pick a character, learn all their combos and then move onto the next character. And I’m only really good with like maybe five characters also. I just get bored and / or get beat. It’s what I do.
Since I have the same problem as you, I probably don’t have a good answer but here’s what I do; When there’s an upcoming tournament, I decide on a character I feel like using for that tournament and I just play and practice with that character all the time until the tournament comes. By doing this, you’ll get better results during the tournament and you’ll definitely have a lot more confidence. Then after the tournament, I’m back on choosing a new main again. Either that or I keep my main and continue practicing to get better.
As for choosing a main though, I don’t go for a top tier character or intentionally go for a low tier character like some people do. Personally I choose a character that’s the most fun for me and have the most satisfying results with. I didn’t say “best” results because if I wanted the best results then I could just go with Sagat but right now my main is Chun-Li and she’s been my main on and off for a while. She’s low tier and doesn’t ever win tournaments but deep down in my heart, I feel that I might be able to do it if I keep trying harder. Even if I lose with her, I don’t give up. Chun-Li may be weak and have low health but I really enjoy playing with her and she can kick some ass which I have a lot of fun doing (except when I’m not kicking ass).
Rose on the other hand, she is not fun to play with and she cannot kick ass. I also get really bad results trying to use her but that’s just me. I’m sure you can learn to play Rose really good but she just doesn’t fit my play-style, know what I mean. You gotta like who you play. And in the case where you like everybody, choose someone who you think you’d have the best results with and just keep winning.