Gengar and Gyarados will be enough to beat the E4, but like others said, fill your party with other Pokemon to use as sacrifices, it really helps. Get a few revives, stock on Lum Berries (I recommend making both of your sweepers hold them, I got freeze hax on the first turn in the E4 but Lum Berry saved my butt) and I recommend buying Hyper Potions instead of Max Potions, as they will usually be enough to heal and cost much less. Though, it's good to stock up on about 2 or so Full Restores, just in case of a bad situation. It would be also helpful if you EV trained them before taking on the E4.
I was expecting E4 to be super hard and went only half-prepared, but beat it without much struggle with (both EV trained) a level 87 Gengar and lv 97 tank Wartortle (+Scyther to take one Pokemon down at the champion, but Gengar could've done it too, I just wanted style points :Grin: )
Also, good moveset for Gengar is also Thunderbolt/Psychic/Shadow Ball/Confuse Ray. Yes, the last one is very useful in certain situations, and it helped me in the league.