Unfortunately, this is a difficult question to answer because banking is a business offering generic products at generic prices. That is to say there will not be much variance from bank to bank regarding the products they offer and the prices they charge.
The best way to answer your question is by looking at customer service. The bank that gives the best customer service is the best bank. What does that mean? You judge it on the local level. What bank in your neighborhood has the most extended hours? Not just the 9AM to 3PM but earlier than that and later than that and does Saturday banking as well. What bank in your neighborhood doesn’t make you stand in long lines on a busy day but finds a way to move the lines through quickly by providing efficient, competent tellers? What bank has the manager that will come out and wait on customers when he/she sees them waiting for service? What bank in your neighborhood says “Yes, we can do that for you” most often when you have a problem or request?
That would be the bank that wants to build a long-term banking relationship with you as a satisfied customer. That one is the best banking company.