Why do they marry non-Danes
I find that very strange too, but at least that gives their families some privacy. If the Middletons lived in Italy, they might not get so much of the limelight.
Well, the in-law thing is part of it.
I believe in the old days they preferred to marry outside the country for a simple reason - they did not want to elevate anyone above the other which would have created tensions inside the realm. Marrying a complete outsider from another country could strengthen ties with foreign allies and they would avoid the situation where one family in the kingdom would be raised into a position above the other families at the same time creating a sort of "second royal family". Do correct me if I'm wrong.
In the modern days marrying an outsider might be what they consider a "breath of fresh air". Someone from completely different circles than where the royals usually mingle, not someone who all your friends already know.