There are 56,018 distinct city/state name combinations in the August USPS city/state file. That includes Puerto Rico. There might be some instances in that list where the same jurisdiction has more than 1 name, not positive on that. Also, I did not really check the accuracy of the awk output I did, but it is a pretty good rough estimate.
EDIT: Just remembered that in some places (ZIP 15220 for instance) there are listings for Pittsburgh, Wabash, Rook, and PGH. Wabash and Rook are not really recognized names any more, and PGH is obviously just an abbreviation. Might take some more time but I could come up with a count of the names that the post office recognizes as deliverable city names.
EDIT2: Including Puerto Rico, there are 31,420 distinct city/state name pairs that the USPS recognizes as towns that receive mail.