А почему бы и нет.
Разберемся, что такой Object.Instantiate.
Обратимся к официальной документации Unity.
Эта функция создает клон объекта аналогично команде «Дублировать» в редакторе.
Instantiate(Object original);
Создание клона объекта крайне затратный по ресурсам. Измерения будут проводиться с помощью Stopwatch.
С использованием Instantiate:
void CubeInPosInstantiate()
{
GameObject obj = Instantiate(Cube);
obj.transform.position = new Vector3(1.25f, 0f, 0f);
}
Результат
Время выполнения блока кода 0.5647ms
И простым присвоением новой позиции:
void CubeInPosTransform()
{
Cube.transform.position = new Vector3(1.25f, 0f, 0f);
}
Результат
Время выполнения блока кода 0.2324ms
Переместить готовый Куб очевидно будет быстрее чем создать новый и переместить его.
Вывод 1 теста
На данном примере видно, что разница составляет 0.3323ms. Просто переместить объект из точки А в точку Б быстрее в 2.43 раза, чем его создать там.
Рассмотрим более наглядный пример. Будем перемещать куб по оси Х и в последствии возвращать его обратно.

1 | 0,0843ms |
2 | 0,0843ms |
3 | 0,0849ms |
4 | 0,0856ms |
5 | 0,0862ms |
6 | 0,0869ms |
7 | 0,0875ms |
8 | 0,0880ms |
9 | 0,0885ms |
10 | 0,0890ms |
В среднем на выполнения уходит 0.08616ms. Попробуем сделать тоже самое, но удалять и создавать новый объект для каждого цикла перемещения. Для чистоты эксперимента создадим Prefab нашего Куба.
tempCube = Instantiate(Cube);
1 | 0,4222ms |
2 | 0,7285ms |
3 | 0,9460ms |
4 | 1,0842ms |
5 | 1,4340ms |
6 | 1,6371ms |
7 | 1,8521ms |
8 | 2,1129ms |
9 | 2,3629ms |
10 | 2,6700ms |
В среднем на выполнения уходит 1.3978ms. Что по сравнению с перемещением выглядит грустно. Естественно сложнее всего приходится при удалении объекта, бросить мы его там не можем. Посмотрим график.

Скорость выполнения кода для перемещения куба в 16.223 раза быстрее, чем для создания его клона. При измерении в 1 итерацию мы получили разницу в 2.43 раза, но на дистанции разница уже более очевидна.
ПС
Смысл данной статьи. Написать данную статью. Донести суть тем кто ее ищет.