If you think $5 and 3% is high, wait till you see what it will cost you to buy EUR (euros) or CHF (Swiss Francs) here in the US. Reports on this forum indicate that it costs about 7-10%.
There's nothing wrong with buying about $100 worth of CHF, if you want the convenience and assurance of arriving with some cash. But don't bring more than this, as it's just a waste of money. Simply use the ATM's in Europe, and take out a lot of CHF or EUR at a time, so you spread that $5 charge out. If you need more cash, make another withdrawal. If you have leftover cash, apply it to your last hotel bill.
Do find out your daily limit in dollars, and convert it to CHF and EUR, so you'll know the maximum amount you can withdraw.
If you are asked by the ATM if you want to guarantee the rate in US dollars, say no. Similarly, if you are using your credit card, always pick that it be charged in local currency, never US dollars. This is called "dynamic currency conversion," but a better name is "scam for the unwary." You will be charged a much worse rate than your bank will charge, and on top of that, since it's still a foreign transaction, you will still pay the 3%! I don't know about Austria or Italy, but in Switzerland, both bank ATM's and credit card machines often offered DCC.