Cannot it be done in a way that only one type of cache is produced for different siteaccesses and different roles combinations?
View cache: it does. cache-block: it's totally up to you (only hard coded cache key is siteaccess name), you can modify / override template to your own needs.