A transaction takes ~10 minutes, to ensure that the block which the transaction is included in isn't orphaned some services institute a 6 block waiting period to ensure the transaction is stable. Should the block be orphaned, the transaction will re-enter the mempool on all hosts who'd confirmed the block and should be included in a subsequent block.
The transaction cost depends on the size of the transaction and the congestion in the mempool, the cost can be set by any sender depending on the urgency of the transaction.