While it would be nice to get the VAT problems sorted out, this is second to the problem of there being a couple dozen different languages being used in the EU. People shop domestically because they can use websites in their native language and when they have problems, can talk to customer service representatives in a language they understand.
It is really, really hard to get your service localized in couple dozen different languages (let alone provide actual customer service in all of them).
Even Amazon handles only a part of Europe, and if Amazon can't do that, what companies can? There are a few, but not all that many, and for many it isn't worth it, because your economies of scale quickly disappear when you have to build and maintain a separate presence in up to 28 different countries that mostly speak different languages. (That includes American companies, too, by the way, many of which simply choose to ignore Estonia or even Sweden and Portugal.)