It’s a little hard to generalize, but optimize the core of your patchers. For example, if you use poly~, spend time optimizing the poly~ voice. If you post the parts of the patches you want to optimize, people can probably point out where the CPU cycles are going (signal rate modulo/divide/multiply, log/exp functions are speed killers, for example).
Use wavetables where possible (instead of calculating values at signal rate).
If you can program C, consider writing portions of patches as C-externals. I’ve had dramatic CPU efficiencies doing so.