Which is better?
Chain gives better performance... But it needs constant maintenance... Like lubrication and tightening etc periodically... Shafts and belts are maintenance free... No lubrication but when the shaft and or belt breaks, you'll have to pay a hefty price...!
Who is giving good performance?
Shafts (And also belt drives to some extent) are maintenance free... But unfortunately, they can't handle more HP (Like 150+)... I watched a Harley Davidson V-Rod documentary over at National Geographic and the bike designer said that "The Screaming Eagle V-Rod" has a chain drive simply because a belt or a shaft can't handle all that torque and engine revolutions... You won't see a belt or a shaft in a sports bike, trust me...! So, in short, chains give good seamless performance...
In off-road motorcycles, you'd NEVER see shafts or belts (except for BMW R1200GS Series, which BTW is not a SERIOUS off-raoder) simply because shaft and/or belts would never survive the torture and ridiculous amount of vibes of a pure dirt bike...!
What is effect of engine?
Shaft drive has a little 'phenomenon' called shaft effect or simply "shaft jacking" which make a little delay in power delivery... As I said, if you need seamless performance, go with good ol' chains...!
It's slightly debatable... Some say that since chains are seamless and doesn't waste any energy in the drivetrain hence you get more HP/Torque at the rear wheel, they give better performance, have less drive-train losses and in turn better fuel consumption...
In my personal verdict, the fuel consumption will be more less the same... Just a ~2MPG difference at most... But that's just my personal opinion...
Have a good day...!