If you need to control instances individually, then you don't really have a choice, you have to add the effect to individual objects and not use a layer effect. If you have an effect on both the object and the layer the object is on, it will process the effect twice, which is wasteful so probably makes it worse.
It's also not guaranteed that a layer effect will be faster. It depends. There is quite a high CPU performance cost for each effect, so one layer effect has a lower CPU overhead than lots of objects with their own effects. But a layer effect must process all the pixels on the entire layer, which can be a larger area than just the objects on the layer, resulting in more GPU work. So whether or not it's faster depends on the precise balance of number of objects, rendering area, CPU work and GPU work. It's not easy to say conclusively that it helps either way, it's just an option to try - and as usual the only way to know for sure is measure it.