It actually depends.
Due to the lack of a physical / special split in Generation 3, Gengar is not the best Pokemon to consider. Its STAB moves, Ghost and Poison, are both physical in this generation, failing to compliment its wonderful Special Attack stat. The other moves that Gengar can really use are probably Thunderbolt, Psychic an Giga Drain. However, compared to Alakazam's movepool in generation 3, it is superior. Shadow Ball, Sludge Bomb, Psychic, Thunderbolt, and Giga Drain provide wonderful coverage, allowing you to get through trainers fairly easily. Gengar has access to the elemental Punches through breeding, which are all Special in this generation.
Alakazam, however, has an extremely powerful STAB Psychic which actually works off its good Special Attack stat. However, unless you have access to breeding moves such as Fire Punch, ThunderPunch, and Ice Punch, Alakzam has a poor movepool, having only Shock Wave to work off its Special Attack. There is Shadow Ball and some Fighting moves, which work off an Attack stat lower than Gengar's. Gengar's lack of Attack is made up by having STAB on its moves, which Alakazam cannot do.
I would say Gengar for the superior coverage, as that is the deal with in game runs of the game.