In other blockchains, such as Bitcoin or Ethereum, the transaction time is limited by the block time. Even then, there's no guarantee your transaction will be incorporated into the next block. (I'll leave out the idea of subsequent confirmations.)
How quickly should I expect to be able to perform a transaction on IOTA? What are the upper and lower bounds for the transaction time?
As long as the Coordinator is in action, you will have to wait for at least one milestone by the Coordinator (which will happen approximately once per minute) for your transaction to confirm. Apart from that, there are no real bounds for confirmation time (although a transaction which stayed unconfirmed for 30 minutes has very little chances of getting confirmed later without reattaching or explicitly referencing it in another transaction).
I usually experience a 1-2 min confirmation time. I made a round transaction (sent to address return to address) in 3 minutes a month ago. Sometimes the network seems to be slower and I understand that this is because of the coordinator, that's the bottleneck right now. It also matters on what node you are (how many transactions are being made there)If you experience long times switch the node and see if it fixes it.
The theoretical confirmation time is almost instantly, 2 milliseconds. But the real world is not there yet.
Transaction time is constantly changing (and by that, I mean that it tends to be increasing over time). As more transactions occur, more transactions will be confirmed faster and faster by being attached to the tangle and confirmed by other transactions. Therefore, theoretically, the limit of speed is only the limit of the speed of the network and physics.
It really depends, as others have mentioned it takes me no more than 2 - 3 min. to send and receive my transactions. Others however reported longer....But the great thing about IOTA is that eventually as more people are large partners set up more sensors and devices that will be doing PoW it'll just get faster and faster!