Is there a way to filter blocks by vocabulary instead of NID or CT? Each time I filter block visibility (that is: When the block will appear in it's region), I can do so only via Node ID or Content-Type...

You might have a ready-2-go way to do so with a vocabulary term ? Here is a pseudocode of my meaning:

if (isset &gt;=1 vocabulary-&gt;term) {isset block}


Sorry if it's a bit wired, I am just starting to learn PHP and my meaning is "if at least one term of a given vocabulary is in the node, show the block in whatever region".
Have a look at my answer to "How to make &quot;Page specific visibility settings&quot; for blocks more flexible?". It explains how the Rules block visibility module can be used to answer that question.

Your question here seems to be a variation of it. You could use a similar approach, so that in the end you'd only have to write a Rules Component related to your criteria here, ie to intercept your condition about "if at least one term of a given vocabulary is in the node" (in which case the Rules block visibility module should take care of "showing the block in whatever region". Done!

Note: for this to work, do not have to enable the PHP Filter module (always a good thing if you can  avoid that).