The effectiveness of light aircraft cannons against top armor was more than sufficient, but only if the attacking aircraft was in a steep dive, making it relatively vulnerable to light AA fire. Even light portable anti-tank rifles proved to be somewhat effective in many urban situations, where the shooter could fire down from a rooftop onto the tank below; the unfortunate side effect was that an HE round from the tank could more easily collapse the building out from under you. The effectiveness of light cannons against side or front armor during a normal strafing attack would be relatively minimal, but FAR MORE effective against columns of soft-skinned or thin-skinned vehicles and infantry accompanying the armor. Hitting a tank with a bomb was also extremely difficult, but landing bombs close enough to do varying degrees of damage to a tank was within the capabilities of many pilots, and bombing their supporting units could be devastatingly effective. Aircraft were therefore reasonably effective at attacking an armor division, causing casualties among the support elements, and disrupting it, but not that effective at actually destroying the tanks.
My suspicion is that many of the "kill" claims include LOTS of "possibles": you drop a bomb, the target is obscured by the debris and smoke, and you have no clue whether or not it survived; or you strafe a tank, the crew bails, and you call it a kill, yet the crew returns and drives off in the vehicle after you're gone.