As far as stats go, you can see that Gengar's and Gardevoir's HP, Atk, and Def, are fairly similar in terms of their biggest weakness. When looking at their primary attack-form, SpAtk, Gengar is a just a hair better, but ultimately both are equally effetive. The only main difference is the SpDef and Spd, where Gardevoir's SpDef base stat is slightly greater than Gengar's base Spd stat - and both are moderately good in the other base stat.
So, since both Pokemon share similar characteristic, their battle style is also similar, which is offensive. So, your mainly looking at weaknesses, ability, and moves to help make your decision.
When looking at 1v1 format, both Pokemon can work, but I would choose Gengar > Gardevoir because the extra couple stat point make him a better sweeper than Gardevoir. So, getting strong STAB moves such as Shadow Ball and Sludge Bomb will help, as well as other moves such as Thunderbolt and Focus Blast to take care of its weaknesses. Or, you may replace Thunderbolt with a status move such as Protect, or remove Sludge Bomb and make Toxic/Venoshock combo.
With an ally-format battle, you may choose Gardevoir > Gengar, especially if it has the ability Telepathy. Therefore, using multi-pokemon attack moves and having a strong Pokemon like Gardevoir to finish up will be a good strategy for sweeping as well. Strong STAB moves such as Moonblast and Psychic will help, and the other move slots can be filled with anything your wish.
Hope I helped! :)