First, I don't quite agree with this statement:
great is the only common English word in which "ea" is pronounced /eɪ/.
Break and steak are pretty common, and both have the /eɪ/ sound.
That aside, this goes back to the Great Vowel Shift, which is the cause of many of the peculiarities of English spelling. The linked Wikipedia article gives plenty of information, but the short version is that while most words with "ea" shifted to the /i/ sound, as in beak, some didn't, possibly because of the influence of the consonant following "ea". Great, break, and steak all have plosive consonants after the vowel; the "r" in bear and swear pulls the sound of "ea" in those words a different way.
And yes, I know, beak also has a plosive consonant, and fear ends in an "r". Changes in natural language are rarely consistent or easily explained, and this is one case where we just have to accept the fact that some words changed their pronunciation in a certain way and others, for whatever reasons, either stayed the same or changed in other ways. In other words, to quote Seth Lerer in his lectures on the History of English (2008):
As a coda to this lecture, let me mention a small group of words that seem not to have undergone the GVS. There are a small group of words that are spelled with -ea-, steak, great, break, and if these had participated in the GVS they would have been steek, greet, breek, and this is not something that affects every single word with an -ea-, it is not something which affects lots and lots of names spelled that way. But etymologically and historically, the words steak, great, break, should have participated in the GVS, and been pronounced steek, greet, breek. Why this is, nobody knows. So now I'm going to leave you with this provocation that even though linguists may think they can explain everything, there are gaps in our knowledge and exceptions to our rules.