From a practical point of view, researching different techs in different cities seems logical.
The problem when researching the same tech in all your cities is that it causes a lot of communication and redundancy ... one research team makes a small progress and then has to inform all the other research teams in other cities about the progress in the shared project. Sending letters costs time, especially in ancient and medieval times. Then they have to check if the progress is actually new or locally known. All this costs (research) resources. It's not like they start in stone age with the Internet and can share all the data instantly and work like one team world wide. My guess is that the effort to keep all cities informed about the project costs more resources than researching the tech in your super-science-city alone. (In Civ 5 there was a research penalty of several % for each city depending on map size. Unfortunately there was no option to exclude such cities from research who increased tech costs more than they contributed to research.)
Similar to heurekas, researching certain techs in specific environments should give a bonus, eg researching a naval tech in a coastal city should give a small bonus each turn.
Trade with nations who know techs should also add a small bonus per turn to each such tech.
Cities should be able to switch projects, eg after finishing a tech the super-science-city should be able to take over a project from another city, check current progress (which may take some time) and then work on the project.
Maybe a small group of neighbouring cities connected with roads and with libraries or universities would be able to efficiently share a project by having annual meetings. (Research cluster)
This would probably lead to a game where maybe only 8 cities or 8 locally connected clusters of cities would research up to 8 techs in parallel, the usual width of the tech tree. No need to come up with penalties like corruption to prevent 100 cities adding research to one tech project.