Cavani is clearly our best CF, I don't think there's any debate about that.
For me personally, Greenwood has to play. I think he's already one of our best players and his ability to use both feet is a very potent attacking weapon. I actually don't really see him as a CF right now, I think having him play with his back back goal would take away some of his most dangerous qualities, and therefore I would keep starting him as a wide forward.
That leaves the obvious choice between Rashford and Sancho. Anybody that reads my posts will know I'm not a big Rashford fan. Again, just to state very clearly, I don't think he's a "bad" player, I just think he's somewhere between average and good as a PL wide forward. For me, his goals and assist contributions are OK, taken purely at face value, however, he has serious issues against low-block sides as he's largely reliant on pace, direct running and unpredictability. None of those qualities suit playing defensive teams, instead you need good ball retention, good decision making, sound technique and good close control in tight areas. None of which are really his strengths. For those reasons, I would start the season with Sancho (which allows Rashford to have his surgery anyway). Once Rashford is back fit, hopefully the competition for places and having more confidence in his body will lead to improved performances. Either way, he's a good impact sub and is also useful against teams who play a high-line, so just because I'm suggesting he doesn't start I our best front three doesn't mean to say he still can't play like 40+ games, even allowing for missing some at the beginning. That's the nature of football as a squad game nowadays.
The two I've not mentioned are Martial and James. For me, it's time to cash in on James. I just don't see where he fits into this team, particularly with Amad waiting in the wings. Again, James isn't a bad player and I've defended him at times, but his overall technical ability is just too low for a club who faces many opponents who will sit deep. I would be looking to see if we can get £35m from someone like Leeds or Brighton, which is a fair price for someone his age.
Martial...well....all I can say is what a massive shame. Genuinely an immensely talented footballer with the ball at his feet, the penny just won't seem to drop. His best game last season was City away. He made Stones in particular look Championship-level. That just frustrates me even more because it shows when he has the bit between his teeth, he's he's great player. I just can't work him out. My only theory is that everything has always come too easy for him. I imagine he has been by far the best player in every team he has ever played for at youth level, £7m transfer at 16, £58m transfer at 18, goal on debut vs Liverpool at the Stretford End, Thierry Henry comparisons etc...now when he needs to knuckle down it feels like he sulks rather than sticks his chest out and tries to prove people wrong.
I would keep Martial just for now, unless someone makes us a good offer. A fit and hungry Martial is actually a better player than Rashford in my opinion. IF the penny drops, and its a big IF, he could still be a good player for us