I think building a great competitive team is extremely hard. There is so much to consider while making one. Things like EV spreads (not the standard 252, 252, 4), items, synergy etc. However, I think the most important thing to think about while creating it is 'Can my team handle all the threats in the format?'. I always ask myself this while creating a team.
For example, say I was building my VGC 14 team. Now I know that Char Y and Venusaur combo is commonly used, and is a massive threat, so I think to myself how can I beat these Pokemon? Well, these two are heavily reliant on the weather, so what if i could change the weather. So I pop a Tyranitar with Sandstream on my team, which severely hampers this pair.
So yes, team building is somewhat hard, however it can be made much easy if you have a thought process behind your team. When I make a team, the first thing I consider is my playstyle. Do I want to shut my opponents team down, or do I want to wreck their face every turn? Then (especially important in VGC) I choose my core Pokemon (usually a mega). Lets say for example, I choose Mega Scizor. Well I know that Mega Scizor is a physical powerhouse, but is extremely weak to fire, and with Pokemon such as Charizard Y and Talonflame running riot in VGC (and singles) so I need a Pokemon that can tank fire type attacks. Tyranitar (again) completely tanks and shuts down most fire types, and can hit them for super effective damage with Stone Edge or Rockslide. I can even use a special Tyranitar, to help take down highly defensive Pokemon (such as Ferrothorn) that Scizor has trouble with.
I then continue to add pokemon that compliment each other, and cover their weaknesses. I make sure that my team is not as frail as a sheet of ice, or not so bulky that it can't deal enough balance. Then when I'm finished, I run through my team and check if I can counter almost any threat that the metagame can throw at me. This is very difficult, maybe even impossible to achieve, but if you can get close to this, you're one step closer to having a winning team. I also like my teams to have at least one intimidator, one choiced Pokemon and one Will-o-Wisper, but thats just personal preference.
But in the end, remember that a great team will only carry you so far. You have to be comfortable using the team, know its ins and outs, weaknesses and strengths, and know how to tweak it accordingly. This comes with the amount of experience you have with the team. And you will lose sometimes. Maybe even a lot. It happens. More than half my teams end up being pretty average, and I get hammered. However, losing doesn't mean your team is trash. Every loss is a new learning experience, and you adjust accordingly, whether its through changing and EV spread or changing playstyle.
But remember, good players can win with weaker teams. The team is only going to contribute to around 50% of your result. Being able to predict and knowing what moves to make is equally as important, and this comes with practice. So practice, practice and practice, and you will get better.
TL;DR: Team building is a sequential process, that requires time and thought. But the team isn't always the most important, your battling skills are just as crucial. These are just my thoughts, and the processes I go through when making my VGC teams. I like you find teambuilding hard but if you work at it, you will see improvement. Stick with it, as the game is very rewarding once you get your head around it. Hope I helped and thanks for reading!