Soriano is having a great year and he is playing very good, but here is the problem, I seriously doubt he will be able to be an everyday LFer for the next 2 and a half years. Even if Soriano gets knee surgery and is able to be healthy for a little while, I don't think his knees hold up that long. I am not a medical expert, but knee surgeries, especially for athletes, seem to be on borrowed time before needing another or being completely shot.
While Soriano's offense is nice to have around and he doesn't have a real replacement possibly until Soler comes up(which should be right around the time his contract expires), I think it is in the Cubs best interest to trade him while he can still play LF and has some value.
As a DH for an AL team, I think he can remain healthy for a longer period of time and be a very productive player. The Cubs will still have to eat alot of his salary, but with how he is playing I still think it's possible to get another team to pay 6-7 million a year for him. IMO, that is much better than what it could be if they wait for another year, where he could be physically unable to play LF.