Usually wallets will construct the transaction and either sign it or delegate signing to a signing device (i.e. hardware wallet). Once the transaction is signed, the wallet will tell a node (or a server connected to a node) to broadcast it. When a node receives the transaction, it tells (gossips) about the transaction to all the other nodes it is connected to. Due to the viral nature of gossip protocols, it does not take much time to propagate the transaction across the whole network. Miners find out about the new transaction in seconds.