An English-speaking friend of mine says the following sentences are incorrect, explaining that “has been in somewhere” is not related to living somewhere. But it's been my understanding they are acceptable. I think the experiential perfect is applied here.
Mary has been in Rome before. Mary has been in Rome several times.
Instead, he adds, it would be okay to say "Mary has lived in Rome before" or "Mary has lived in Rome several times."
Also, his interpretation of the following is different from mine although I must admit there is not much context to it.
Mary has been in Rome.
My interpretation is that Mary was in Rome at some time in the past, probably implying nobody knows when she was there, how long she was there, or whether she is still there. On the contrary, his understanding is that Mary is in Rome still and has been there for some time.
Of course, we don't have any disagreement about "has been to somewhere" construction.
Please correct me if I'm mistaken.