"Am I right in thinking 3rd cousins would mean we are connected 3-4 generations back at the most?"
Generally speaking, yes. But it could also be quite a bit further back than that. For example, I've had quite a few matches on Ancestry that they say are 4th-6th cousins but, in fact are 7th cousins (and even one seventh cousin once removed).
This can happen where a limited number of families intermarry over several generations. What this means is that more of the dna stays within the same family and so it appears that you are more closely related than you really are.
"I've been matched with several people as 3rd cousins through my dna results - they all have connected surnames and trees so looking at them it's easy to see where the relationship comes from."
I've had a similar situation to that as well. On Ancestry my dad matched with one person and, when I checked, I found that they had 107 shared matches in common (so we all have a common ancestor somewhere). They were a mixture of 2nd to 4th cousins to each other and Ancestry said that my dad was a 4-6th cousin to all of them.
Digging into things a bit more, they all lived in the USA and those that had significant family trees all had ancestors going back to at least the early 1700s in America.
In genetics there is something called "endogamy" which is where the same extended families tended to intermarry over several generations. You can then still see the results of this in the DNA hundreds of years later.
The intermarrying means that more of the dna is retained within the family for much longer and it makes it appear as though you are more closely related to somebody else than you actually are.
It is not uncommon for colonial Americans, Ashkenazi Jews, French Canadians and US Cajuns to have large numbers of DNA matches due to endogamy many decades or centuries previously. The same thing applies to certain communities from South Asia as well.
So, it may well be that the connection is a lot further back.
"So I'm now thinking there's a skeleton in my family tree?"
On the other hand this may well be the case. It certainly happens.
On 23andme I came across a DNA match who was a 3rd cousin. Her mother and aunt had both been adopted in the early 1920s and she was keen to find out about who her maternal grandparents might have been.
I did a bit of digging and found both the mother and aunt's birth certificates. The name given as the father on the birth certificates was the grandmother's husband. The only trouble is, he had been dead for five years by the time the eldest sister was born.
Given the dna connection it is likely that it was a relation of mine that was the actual father and not the deceased husband named on the birth certificate.
It is likely one of the male relatives from my great grandparents generation (my grandparents generation were too young) on my mother's side. I do have one candidate in mind (he did live in that city at the time). If it is him then it turns out that we actually related as third cousins once removed.
By the way, there is a very good youtube video which explains very simply how all the third cousins and once removed things work: