Postgresql - multi-tenant database - backup/restore single database
Restoring the database will take as long as it takes.  There is no way to know with the information you provide.  If each individual database is quite small, step 2 could be acceptably fast with dozens or maybe even hundreds of databases in the cluster.

Having many database clusters will incur more overhead.  There is a certain minimal size of a cluster (around 21MB for the usual initdb run) which can be amortized over all databases in the cluster. You will have to manage many wal streams, and if you most archiving is driven by an archive_timeout that means you will have many more files in total by dividing them.  You will likely run out of available semaphores, but you can recover some of them by lower the max_connections setting.  On modern OS, you could probably configure the system
to allow a lot of semaphores.  You should be able to test some of this stuff on your own infrastructure with some relatively simple scripting.

But if you do run one cluster for each customer and have 100s of customers, there is no reason you couldn't spread them over multiple machines.