In general the US is able to call elections within a day. I think there are a variety of factors that make it seem like it takes longer than other places though. The US has arguably 6+ time zones, so voting may end in one place hours after another place has already counted the votes. As you mentioned, in the US there's a variable number of voters being covered be polling stations and as of late there's been several efforts to exacerbate that problem. We also have a rule that if you're in line you get to vote. There have been times where lines are hours long, and that obviously can cause delays if you have a lot of people still in line even though polling has technically closed. Additionally, mail in ballots are often allowed to be posted the day of the election, so your vote might not be counted until several days after the election.
There are of course some races that are very close and recounts are requested, but really we're not as disorganized as the republicans would like people to believe. The "official" tally is delayed in order to ensure that people have time to question the process if needed, but that's not a bug, it's a feature of the system. People can definitely disagree with the system, but the Republicans acting like the delay is a problem is explicitly meant to undermine credibility for no reason among people who just don't understand how it works.