There are a thousand different ways to skin this cat:
Insert a special character between Y and E and then split the string by that character:
StringSplit[StringReplace["XXXYEXXX", {"YE" -> "Y-E", "YE" -> "Y-E"}], "-"]
Or maybe it's best to treat this like a List instead of a String:
Split[Characters["XXXYEXXX"], Sort[{#1, #2}] != {"E", "Y"} &]
or
Map[StringJoin]@Split[Characters@"XXXYEXXX", Sort@{#1, #2} != {"E", "Y"} &]
These would be okay if you didn't care about speed.