Kirk was the best Captain if, for no other reason, because he was our (humanity's) stand-in.

As Captain, Kirk constantly had to choose between logic (Spock) and emotion (McCoy). He had to wrestle with the issues we wrestled with in the 1960s and try to make the correct decision. He symbolized bigger issues and was, truly, a leading-and iconic-fictional character.

Picard, while extremely well-acted, was never given that role as humanity's stand in. The make-up of the TNG crew was such that each character had more limelight and, as a result, Picard was more of an ensemble player

And, to be honest, he was saddled as a character with Roddenberry's late 1980s decree that humanity had to have moved beyond our current problems, meaning he couldn't symbolize us the way Kirk did.

Again, this is not to say he didn't have some good stories in the series. But, if you think about, they were largely as a victim (see, eg, the Borg episodes) and were typically few and far between.

As such, I gotta go with Kirk.