Assume, I've created my own ERC-20 Token and published it to the Ethereum Blockchain. By doing so I also got access to all of the initially created tokens.
If I'd like to distribute them, the only ways i know would be either to:
Which other ways of distribution are commonly used for ethereum Tokens?
I think the ways you mentioned are the most common ones.
Some other ideas/possibilities:
Sell them in an open crowdsale contract which is not part of an ICO/STO. The contract might not even have an end date but it may sell tokens indifinitely until no more tokens are for sale - or it keeps minting new ones all the time.
Distribute them based on some work/effort. Either for on-chain or off-chain actions. For example bounties or contribution to some on-chain effort.
Distribute based on random other criteria. For example whenever thing X (a transaction of another token, Ether transaction to a certain address, other transaction, ...) happens on-chain you send your tokens.