this is dated advice from a washed-up competitive player who hasn't played a serious game in months, but it should still apply
definitely use a spinner/defogger or at least some form of hazard control—even with roost, both charizard forms absolutely
hate hazards. although charizard x generally doesn't have to worry as much about hazards, (a) you still have to mega evolve before you lose your x4 rock weak and (b) you're grounded, and will be taking spikes damage. if you're running charizard y, you might want a pursuiter or something to handle the lati twins, both of which (from my understanding; i haven't played a serious match in months). a couple tips, since it is after all a little late here (or early, depending on your perspective):
- although it may seem counterintuitive, tyranitar is a solid partner to charizard. bisharp does have a better typing and is capable of grabbing the free +2 with defiant, but tyranitar has considerably more bulk and is generally less predictable.
- running dedicated sun is extremely difficult to pull off successfully in this generation and has more or less fallen by the wayside, so i wouldn't recommend using it. not saying that “sun teams” are impossible or even implying that you were making one, but this is something to keep in mind
- lati@s or excadrill seem like fairly common partners for charizard-x/y: they remove hazards from your side of the field, which is important for longevity reasons—after all, you don't want your charizard to come in once, get a hit in, and die!
- zard-y is best used as a wallbreaker and zard-x is most effective in a sort of dual-attacking core (think maybe terrakion or dragonite + zard-x). try thinking of things that benefit from your charizard breaking down defensive cores, incorporating them into your team, and going from there.
if you need more help, i'd recommend consulting smogon's analyses. they'll probably be of some use to you. hope i helped!