Can I speed up my transactions based on the fee I am willing to spend? Or perhaps by some other means?
Is there a way to choose between slow, medium, and fast (like on other blockchains) or is there any other way to affect transaction speed?
Short answer: no. Setting higher fees on your transaction increase the odds to have it processed but does not guarantee that yours will be.
The base fees on the network are 100 stroops even if you put a higher max fee on your transaction. When the network can add all queued transactions to the ledger, the charged fees will be 100 stroops.
If the ledger has more transactions in queue than what it can accept (currently 1000 operations). (The limit is counted in operations but the ledger add the transaction as a whole). This is the surge mode, at this point the ledger will build transaction set that maximise the number of operation and the charged fees (and a random number?).
You can find more details in CAP-0005