Metamask just introduced the newest feature called "MetaMask Swaps" in which users can swap tokens directly from their metamask wallet. I have used it on the firefox browser and, I thought it was a pretty good addition to metamask.
https://medium.com/metamask/introducing-metamask-swaps-84318c643785