Любые операции поиска сжирают ресурсы, поэтому - да, использовать их не очень хорошо.
Однако для этого можно использовать кеширование.
То есть вы один раз находите нужный объект, сохраняете ссылку на него в переменную и далее используете переменную.
В вашем же случае, например если у вас есть 10 спавн точек, в которые вы рандомно будете спавнить, то можно эти точки поместить в один родительский объект контейнер, и в основной скрипт ручками поместить этот контейнер в переменную, а в самом скрипте в стартовом методе написать следующее:
Transform[] spawnPoints = _containerSpawnPoint.GetComponentsInChildren<Transform>();
В итоге вы получите трансформы всех дочерних объектов контейнера.