First-class callable syntax $callable = $foo->bar( ... );, compared to expressing callables as strings Foo::bar or arrays [ $foo, 'bar' ], is nicer to read, better for static analysis, and makes it easier to find uses of a method using simpler tools like grep.
I think we should enforce a coding convention for this using Phan. I hope it's possible to make it warn when a function/property/etc. that takes callable is given a string or array (even if that string or array is callable).
We could also just document these things with e.g. @param Closure instead of @param callable, which would have a similar effect. However, Closure as a native type annotation may cause problems with the callables that come from JSON data, and thus have to be strings/arrays. They can be converted with Closure::fromCallable(), but that may be too much. I just don't want to see the syntax [ $foo, 'bar' ] in PHP code, not necessarily forbid having callable arrays around, but it doesn't seem feasible to forbid at the syntax level (with PHPCS) without having lots of false positives/negatives.