Sephiroth isn't an anti-hero, he's an antagonist. An anti-hero is someone who does good things, but he doesn't do them in a good way (for example, bringing villains to justice by killing them).