What is the best way to accomplish this?
Cubase supports both online (real-time) effects processing, through Insert effects and Send effects (aka FX channels), as well as offline (destructive) processing through the Audio->Process and Audio->Plug-ins submenus.
To apply an Insert effect, select an audio track’s header and look in the Inspector for the Inserts tab. (If it doesn’t appear, right-click in the Inspector to make it visible.) Click an insert slot and choose an effect plug-in. Send effects can be added the same way. FX Channels are similar to Send effects, but they are created by switching to the Mixer view, right-clicking on the audio channel, and choosing "Add FX Channel to ".
Insert and Send effects are applied in real-time during playback, and thus they will be applied to the entire length of the track in unless you use automation to limit their scope. To apply automation to a track, right-click on the audio track’s header that has the effect applied to it and choose “Show Automation”. An automation lane will appear. The click on the button that says Volume, and find the Insert’s controls (they begin with "Ins.: " ). Draw or record automation events into the lane. You could use this to regulate the strength of an effect or even Bypass it entirely at times.
The offline effects are applied simply by selecting a region of audio, going to the Audio menu at top, and selecting a function from the Process or Plug-ins submenus. Offline means they are applied immediately in a destructive (i.e., permanent) fashion, though you can reverse them later from the Audio->Offline Process History menu. Offline processing is good for CPU-intensive operations like pitch-shifting or time-stretching operations, as well as one-shot audio operations like normalization or removing DC offset.
I like creating a dedicated FX Channel and then automating a send, to it, on the track in question.
Automating the send to “punch in / out” of the area to be affected, gives the ultimate in control over not only the times, but also the level (or even a changing level over that duration); it’s real-time / non-destructive; and most importantly, it allows routing that FX Channel to a Group Channel in your “final stems area” (which if you’re not doing, you should consider) for discrete control over the FX in the mix.
E.g. You might have an Instruments Stem (Group Channel) and a Instrument FX Stem (Group Channel), Drums Stem and Drum FX Stem, Vocals Stem and Vocal FX Stem, etc.
Giving the FX their own channel is very helpful during the mixdown. It’s always good to re-evaluate the balance between wet and dry of the elements.
This technique (some would argue “best practice”) also lets you apply even more effects TO the effects. (insert “Yo Dawg” meme joke here)
E.g., eq’ing out some low end from the FX, as a whole. Altering Mid/Side on them. Or curbing some high-end. Putting compression on them (taboo as that sounds, it’s a real technique for some music genres), or sidechain for a pumping effects on the effects, etc.
You can get creative with the effects, themselves, as a whole and achieve results not possible any other way.
The only way to get all this good stuff, properly, is with sends (and a series of supporting and well-organized Group Channels).
Sidebar: [In case CPU becomes an issue, I would make the argument that it’s better to give CPU priority to these kind of real-time bus effects, and simply freeze VSTi’s at their source, if needed. But only you can make that choice. There would be less of a tradeoff, in this regard, if Cubase had a working implementation of Studio One’s “rearrange frozen tracks” feature – but I digress.]