My friend and I run with a Melee/Caster set up. I'm the caster. There's a few things wrong with what you're saying.
Each magical element has a variety of CC or damage, sure. The problem is that the elements are just that. If you're focusing on Fire and you come up on a boss that's healed by Fire, you're outta luck. Actually, if anything, burning them might give them a heal over time. To focus on different trees requires you put skills in all the trees so you actually have some variety to begin with. Melee fighters are a lot different. All you need for that is to keep a weapon around that's a different element than the one you're running, and you're multifunctional.
Now, another issue was that your heal wasn't very good? It heals a lot, but it's a single burst heal for emergencies. You're not a healing class. That's why you have a mage that uses Hydro, so they can keep you up with Heals over Time and the like. Having problems getting to the enemy? Mage backs you up with Haste from Pyro. Need more defense? Mage shields you with Geo.
Wizards can fill a lot of roles, but what they can't do is tank. A good pair will have a caster focusing on healing, CC and buffs/debuffs while the melee fighter runs in and wipes the floor with the enemies. The only times we've wiped have really been my fault, when I threw down a Rain and accidentally ended up shocking the puddle with my partner's tip-toes in there to stun them. Once they go down, I'm done for.
Mages can't handle everything themselves, and melee classes tend to be the ones with all the defenses and methods of closing distance quickly. I play it as a support system, and it works a lot better.