Harvey Fierstein gives a superb performance in the movie, "Torch Song Trilogy", because he lives and breathes the appellation, "homosexual".
A straight actor, no matter how talented, could NOT have duplicated Harvey Fierstein's performance.
I remember the actor, Tony Bill, saying that, in the film version of "Torch Song Trilogy", only a gay actor should be used for the lead role.
I think it all depends on the role - personally I never believe Al Pacino as Cuban in "Scarface"- there are certain traits that no matter how talented an actor can pull off. The sexuality question is trickier- there is not doubt that gay actor playing a gay character will bring an added dimension to the role but in the other hand Heath Ledger who was straight is heart breaking real in "Brokeback Mountain"