Here is my interim solution : better solutions welcomed !
\XeTeXinterchartokenstate = 1
\newXeTeXintercharclass \English
\newXeTeXintercharclass \Greek
\newXeTeXintercharclass \Hebrew
\newXeTeXintercharclass \Latin
\newcount \charclass
\charclass = "0380
\loop
\XeTeXcharclass \charclass = \Greek
\advance \charclass by 1
\ifnum
\charclass < "0400
\repeat
\charclass = "1F00
\loop
\XeTeXcharclass \charclass = \Greek
\advance \charclass by 1
\ifnum
\charclass < "2000
\repeat
\XeTeXinterchartoks 0 \Greek {\uselanguage {greek}}
\XeTeXinterchartoks \Greek 0 {\uselanguage {UKenglish}}