I find zwift races quite motivating and I know last season it got my ftp back to a high point and I got really good at riding at or very near ftp continuously for over 60mins on those events, just because it's always more motivating to suffer along with others.
Personally, with a trainer with erg mode (I use the cycleops hammer), I actually prefer trainerroad and doing the structured plans. Due to circumstances I'm doing base training now and have been doing the sweet spot base program, and I really like it. Trainerroad just has (in my opinion) better training sessions than zwift.