Is there a method to determine which blocklists are working best?

No. Domains from all blocklists are added to gravity, and then duplicates are removed. When a domain is blocked, the blocklists that contain that domain are not identified.

You could write a script that check /var/log/pihole.log for blocked domains and run pihole -q to tell you which blocklists contain each blocked domain.