Big clubs in other countries are too good for English players and the mid tier ones that might transfer them can't offer anything similar wages. Simples, duh.
Whatever you think of English players, there have been some that are clearly good enough for big non-English clubs, it's just they often prefer to stay in England.
Rooney
Scholes
Lampard
Gerrard
Ferdinand
Seaman
Beckham and Owen (who obviously did, and although Owen didn't play that much I remember a lot of Madrid fans wanting him to get more game time)
Shearer
Not to mention a few youngsters like Shaw and Barkley who are looking more than good enough. That's just an handful who could all have played for a top foreign team had they expressed a desire to.
English players might not be as good in general as some nations like Spain, Brazil etc, but they are at least equal to many of the other nationalities who do play in far greater numbers of foreign leagues.