As I've said, Morgan (and Joyce before him) isn't guilty of switching allegiance. All good Irish (and Scottish) players have always wanted to play in and for England. They have to, in order to play at Test and serious ODI level. Ireland and Scotland shouldn't, in an ideal World, be separate ODI teams. They wouldn't be, indeed, if East Stirlingshire and some Irish county had had a team in the County Championship for the last 80 years, the way Wales have.
Ireland, Scotland and the European countries is an entirely different question to that of South Africans. There is nothing evil specifically in the English system, apart from counties who place the short-term above the long-term, and this disadvantages England rather than advantages them. The only difference between England and elsewhere is that English domestic cricket has much, much higher pay-packets than anywhere else in the cricketing World. And some players follow the money - as they are perfectly entitled to. For a short time, England also had the Kolpak ruling involved, as England is part of the UK which is part of the EU which has the treaty (I forget what it's called) which allowed free rein of labour for all who were involved in this treaty (which includes SA and much of WI). However, the Kolpak ruling has now been overruled and the treaty no longer allows free rein of labour, which will put a stop to any instant qualifications for SAfricans.
If overseas players want to play in England (and do not have British or EU qualification), they will once more have to take 3 years out of the game in order to do so.
However, as I've said before, there have been virtually no serious international prospects who have been lost to South Africa, or West Indies, due to Kolpak contracts. Jacques Rudolph, Ryan McLaren and Pedro Collins are about the only ones. Mostly the issue is with retired and\or second-string players, and this disadvantages England more than the countries who the players have left behind.