Which class you are travelling?
For Y I would definitely go with Swiss. IMHO the service and food are far superior in LX, but as others mentioned watch out for 10 abreast 777.
LH also has premium Y but I was very disappointed because unlike OS it did not have any extras besides slightly better seat. Same poor food and service as in Y.
For short haul both airlines charge for food and drinks, but if you manage to get on LX codeshare with Edelweiss there will be free breakfast / snack (perhaps one of the last airlines in Europe still offering it on short haul).