I have been very lucky and have been able to travel this year. However, now that I am preparing to go back to the US, I realize that I have collected various small amounts of money (usually equivalent to $20–30) in a variety of world currencies. It is great to have such a 'coin collection', but since I'm travelling and living on a budget, I really would like to be able to actually use the money. What's the best strategy for changing various world currencies (e.g. Swiss francs, Thai baht, rupees, etc.) into dollars? If I go to a US bank where I have an account (e.g. Bank of America, Citibank) with foreign currency, will they be able to change it back into dollars?
This answer won't help someone in your particular situation, but my solution is to use up any remaining currency in the last, or nearly last, place in which it is possible to spend money before leaving the country that uses the currency in question. (Typically, this will be an airport, railway station or eatery.) If the purchase price exceeds the amount of leftover currency you have, use a debit card to cover the difference.
The least steps you take to convert currencies, the better. Otherwise fees and commissions add up. To get a reasonable rate, it is generally best to go to your bank and sell them the foreign currency. Bills are always accepted not usually coins.
Keep in mind that currency rates vary constantly, several times per second but places usually fix the rate at different times. Banks for example will often have a posted rate for the day but hotels may hold on to a rate for a whole week. So, there is no hard rule to get the best exchange rate possible.
Note that some currencies are classified as NDF which stands for Non-Deleverable Forwards. For these currencies, it is not legal to exchange them outside of the issuying country. Therefore banks will not be able to buy them back and only shady places will exchange them for a very steep discount. This is the case for Malaysian Ringgits, Indonesian Rupiah and Indian Rupees to name a few.