I'm a Winston main myself. A lot of players find him underwhelming, but I think he definitely has a niche roll and is great with the right support. He's not the kind of character to get play of the game and all gold medals, but that's okay. He's the best combination of bulk and mobility, which makes him unique as a tank. I use him mostly to harass the enemy team, jumping in from probably across the map, popping a shield down, and then running away if my team isn't there to back me up like they should be. He doesn't do a ton of damage, but he's great at picking off the squishy dps characters like Soldier and McCree and beats most of them one on one.
I started playing him on the Mayhem game type where the cool downs are almost instant because I realized I could literally fly with him, and the idea of a flying ape from space seemed too good to pass up, quickly discovered he's overpowered. Between jumping around and dropping shields, with the help of a half decent Lucio, I could contest the point single-handedly. I even saved a video of me taking down a Pharrah one on one, with me flying through the air, close enough to hit her with the Tesla Cannon, while she couldn't keep me in her sights. It took about 60 seconds and totally wasn't worth it cause I was probably needed on the payload, but I found humor in it, so I did it anyways.
When Winston isn't needed, I'm a good Lucio. He's never unwelcome on a team. I can also play Soldier (Who can't, right?), Tracer, Sombra, Bastion, Mei, Orissa, and D.Va well, and I'm working on mastering Zenyatta, McCree, and Roadhog. I like to think I've figured out the best way to play Bastion by using his Recon mode for more than just getting to prime camping spots. Recon still does decent damage, and you can tank a good bit of damage by holding down auto repair while you walk in front of a barrage of bullets for whatever reason. I'll sometimes play him on attack if the enemy team has Reinhardt or Orissa; he's an excellent wall-breaker, but I get a lot of hate mail for playing him on attack, especially in competitive. I'm not as thrilled with him on defense because he always seems to get overrun as they push up. That's not the case on attack. There's a chess analogy I have in my head when I play him: 'Rooks belong behind passed pawns.' Bastion is the rook (supporting the payload from behind and not deployed on top of it) and the payload is the pawn you are pushing to the other side of the board.