why aren't transactions on the blockchain stored like "from, to, amount"? Wouldn't it save lots of block space and reduce transaction fees? It seems to me the current method wastes lots of space. I wasn't able to find a technical reason for the current method
On some blockchains, they are. They just don't work that way on the bitcoin blockchain. There are advantages to the way bitcoin does it. What if you want to send bitcoins to more than one destination or from more than one source?

Also, bitcoin's scheme is much simpler. Either a particular transaction output exists and is unspent or it isn't. A balance is the end result of a very large number of transactions and much more complex to verify.