A possible solution could be some sort of key that's transmitted back that would release the transaction once it was complete. For example: I send some amount of bitcoin to an address online for some t-shirts, once the t-shirts arrive, they arrive with a key that I use to release the transaction....the other party would also have the key to release the funds so that both parties have an equality in the transaction....some idea like that would make Bitcoin more attractive to skeptical adopters.
But many people find non reversible for good. In a decentralized system we can not revert a payment. Once sent is sent for ever. So escrow will do the reversing job if you prefer to go with.
When we are not able to find an escrow for our need we must go with trusted sellers or buyers. This will happen with even fiat also. So not a new problem because of bitcoin.
yes....escrow is too much of a burden and that's why some sort of smart contract system would make the technology more attractive and less risky.