Acctually, a good team, is a team, that can kill itself, and let me explain:
A team with:
Fire + Grass + Water == Good Team
Psycic + Fighting + Dark == Good Team
Flying + Water + Psycic == Bad Team
Well the Battle Tower is very hard. I couldn't beat most of the teams because i'm not really all that good at Pokemon lol. Just make sure your entire team is balanced so that you can change Pokemons depending on what Pokemon your opponent has. If your Pokemon are 100% effective against all other Pokemon then you should be right. But you'll have to train them up to Level 100 of course ;D
Trainers in Battle Tower have pretty weak Pokemon stats for lv. 100. Like they aren't even trained. Just have Pokemon to lv. 80-100 and beat them. They always have different Pokemon so you can't have good team against them. Use your favorites.
I always use my favs: Blaziken, Flygon, Glalie.
there aint no such thing as a good team really...every pokemon has its weakness...just use ur favourite pokemon...e.g i would use tyranitar, steelix and aggron or shedinja!!