In-game, Porygon-Z is better, as it has better offensive capabilities. For competitive, you actually are unable to use Porygon2. If you mean battle against friends, choose Porygon-Z to be more offensive, or Porygon2 with Eviolite to be more defensive.
Alakazam and Corsola/Cursola's roles are different. Alakazam functions as a great special sweeper, albeit it being a bit frail.
Corsola, on the other hand, is more meant to use Eviolite for longevity. It helps cripple physical attackers with Strength Sap, and can lay hazards.
Cursola is sort of a worse Corsola, as it lacks the defensive capabilities needed to be useful. It can certainly be good, but I believe Corsola edges it out by a bit.
Hope I helped!