Вы можете избежать циклического превращения массива в строку с помощью Join (), выполнить замену и, наконец, превратить его в массив с помощью Split () (не тестировалось):
Dim Arr As Variant
Arr = Array("Text<&>data", _
"<&>recombining", _
"that libraries<&>", _
"<&>professional<&>user ")
Arr = Split(Replace$(Join(Arr, "|"), "<&>", "and"), "|")