As I am working only in Ableton, I am using Freeze function, and then work with Wav which I copy into new channel. In case I need to undo something, just unfreeze the chanell do adjustment, and Freeze and copy again.

Most often i am Freezing (bouncing) dry sounds or just subtly proccessed sounds, but it all depends on the context and if I will do a further proccesing and also if this proccesing will be just subtle or wild.

If it is just a matter of recording midi to wav, I am obviously bouncing dry sounds, but incl. synth automation, and then do all proccessing on new channel where i copy freezed wav. Build my rack and effect the freezed wav.

most important thing is to find a workflow so you keep more or less editable events until you finish your track. you can hardly undo reverb, and other kind of sound design fx, so i wouldn't bounce it unless you also bounce unnaffected dry channel.