In order to answer the question:
Should we have different instances (Virtual Machines) or one instance for many different sites?
You need to think about all the consequences of using one option or the other.
For example-
- By default, every instance in a VPC network has a single default network interface, but if you are using a single instance for all your sites, you would need to make a special configuration to have multiple network interfaces in a single instance.
- if you have all running in a single instance and you have a problem with your server it will affect all the sites.
- If you have a different server for each site, It will enable you to organize the development effort around multiple, autonomous teams.
But it all depends on what you want to achieve.
I can only think of the benefits of having one VM for each site, and the problems you could have having one instance for many different sites
On the other hand, GCP has a Marketplace where you could find some solution that you could launch only with a few clicks, but most of them are created to have only one site per instance.
Answering your other question:
Is it possible to transfer all the files to google cloud so that our old sites are also being hosted on google cloud?
Yes it is possible-- With All-in-One WP Migration plugin you can export your current WordPress website into a backup – an archive file with the .wpress extension, which then you can import in any WordPress site.
Please check the following guide that shows step by step how to migrate a site:
All-in-One WP Migration User Guide