Cheapest way to get from Prague to Switzerland is to use overnight CNL train to Basel SBB. Tickets start from 29 euro (if purchased in advance from DB website -
http://reiseauskunft.bahn.de/bin/query.exe/en?newrequest=yes&protocol=http:&). There is as well daytime train from Prague to Zurich (seats from 29 euro), but such discounted tickets need to be purchased at the station in advance.
For Swiss domestic travels it really depends on your exact route and preferences. For example, if you plan the trip any time soon (before September 5) you still can enjoy discounted SuperSaver tickets. SBB might as well prolong SuperSaver tickets sale for some time in autumn and winter. Other option is TCV ticket, it is especially good if you plan many stops in Switzerland and you are exactly sure about the route planed. So it will be better if you can elaborate more on your preferences, thus we can advice you specifically for your choice of the route, timing and number of stops on the way.
A little bit similar story with Italy, if you plan to travel just between Swiss border - Venice - Florence and Rome, then you might simply purchase discounted tickets from TrenItalia website in advance (percentage of discount depends on how in advance you purchase). In case of multiple stops on the way you can use TCV ticket or travel by regional trains (those are slower, but you don't need to pay 10-15 euro for compulsory seat reservations on each leg for fast trains).