some quick stuff you should take note of:
overstabbing- that is, using too much moves of the same type on a poke is really silly, it reduces your pokes versitility and capability to handle different situations... for example, sparky can't kill anything that isn't flying/water ...
same problem applies with charizard and venusaur...
... erm... thats your biggest problem, but it's not just a matter of using moves that counter the poke's weaknesses (for example, you think charizard's weak against rock types so you teach is earthquake... not quite so) you stil have to worry about whether your pokemon can use that move effectiveli; earthquake's physical, and zard's more of a special poke, so u'd wana focus more of it's moves on the special end to maximize it's potential (i'll assume you know the difference between physical types and special types... if you don't, read the manual or something)
... there are heaps more other improvements you could make, but get those 2 done, and think about pokemon archtypes.... look at your poke's stats, and think about how to use em (for example... use a shuckle like a shield~ etc etc etc) ... but yeah... if this team was going to be rated it'd be rated pretty low... have fun adjusting yer team (try using pokes other than ledgends/starters... it's too hard to give them a decent use becoz their stats are misleading)