I agree that this is subjective. For the most part I avoid method chaining, but recently I also found a case where it was just the right thing – I had a method which accepted something like 10 parameters, and needed more, but for the most time you only had to specify a few. With overrides this became very cumbersome very fast. Instead I opted for the chaining approach:
MyObject.Start()
.SpecifySomeParameter(asdasd)
.SpecifySomeOtherParameter(asdasd)
.Execute();
The method chaining approach was optional, but it made writing code easier (especially with IntelliSense). Mind you that this is one isolated case though, and is not a general practice in my code.
The point is – in 99% cases you can probably do just as well or even better without method chaining. But there is the 1% where this is the best approach.