Why gengar SF? If you put Lunarock combo and Gengar lv.x, why not curse one? It moves damage, which is very powerful. Plus, run Gallade 4 Lv.X. By putting it one the active Gllade 4, you put a damage counter on each of your opponent pokemon. Then, retreat and spread. If they put another pokemon on the bench, move damage with curse.
Gyrados as a counter is really not good because you need to discard 2-3 magicarps before it does something. Plus it has a heavy retreat.
VS SP, level up gengar prime and lost zone their Lv.X. Then add a curse gar on the bench and spread.
Jirachi UL can be useful.