They are not directly comparable because they have different payout structures. A long straddle will pay out if the underlying moves a significant amount in one direction or the other and ends up in the payout range. A variance swap pays out if the volatility of the underlying increases regardless of where it ends up.
So take a stock that moves a small equal amount up each day and ends up in the "high" payout zone of the straddle. It's not really "volatile" since the price moves are consistent, so the straddle would pay out but the variance swap would not. On the other hand, take a stock that swings wildly from day to day but ends up at roughly the same spot (the mid range of the straddle). The straddle would NOT pay out but the variance swap would.
So it really depends on what you're expecting as to which is "better".