One aspect of the problem is taxes and regulations, which for the most part has to be addressed politically. The different jurisdictions are a cause for friction, too.
The even more significant barrier however is the linguistic and cultural one. It's not sufficient to just translate a say English language website to French in order to start selling in France (and providing proper idiomatic translations for each of the main EU languages is difficult enough). There are cultural differences right down to which website designs are popular in any given EU country at a time. You often can tell where a website is 'located' just by looking at its design.