A few cryptocurrency projects have instant sending of coins, like Dash and Loki's Blink. Currently with Monero there is a 2-20 minute wait time, depending on how you look at it, before the coins are received. Is there a proposal to get Monero to speed up transactions, like instant sending without the transaction wait times?
In Monero, like other cryptocurrencies, the transactions themselves are fairly instant - they get instantly broadcast to the network and get placed in the tx pool. Wallets also see these transactions pretty much instantly.
A transaction however is not deemed confirmed until it has been mined into a block. And even then, because there can be small reorgs on the main chain, allowing a sensible depth of blocks mined increases the likelihood of a transaction sticking (i.e. not being naturally caught up in a reorg or a malicious double spend for example).
This is the reason the Monero wallets enforce a 10 block (~20 minutes) confirmation/lock time before deeming a transaction fully complete.
A receiver (merchant) of XMR, can of course choose any confirmation window they like to release goods. Some merchants will take on a small risk by releasing goods on a zero-conf basis (e.g. as soon as they see the tx in the tx pool). In this situation it is an "instant" transaction of goods. The merchant is taking a small risk here by releasing goods before they are sure the tx won't get reversed.
All cryptocurrencies based on a PoW chain have this situation. Of course, others may develop wallets that don't place a sensible lock time on funds, but then they are pushing the risk onto users who may not fully understand the risks / implication of this.