Can CiviCRM support a multi-tenant setup, If so what is the best configuration for it? Which CMS tends to work better for these kinds of setups: Drupal, Joomla or WordPress?
It's certainly possible to use CiviCRM as you describe, and I administer a couple of instances that do exactly this. I know it's possible with WordPress and with Drupal; not sure about Joomla or Backdrop.
However, in each case where I administer such a setup, either a) there's a need to share data, or b) the architecture decision wasn't my own. In the case where I designed a CiviCRM multi-client architecture (about 25 instances) I opted to have 25 separate instances sharing a git repository (these days I would consider a Docker image instead). If data sharing isn't necessary, and it's just a way to keep the code in sync, I don't think a multi-site approach is warranted.