What is the best solution to store the cach files? One directory for all or explicit directorys for each running vhost? Is there any difference?
Unless you have huge amounts of vhosts, from the performance point of view it should not matter.
From the security point of view the separate directories might be a better option than a single directory, depending on your web server setup. If every vhost does use its own user-id (instead of running everything as Apache user), the separate directories are definitely a better option.