We stayed at the YHA (Jugenderherberg ?) - youth hostel in Engelberg and they have a family room with three bunks and ensuite...newly renovated.
We also stayed in a motel at Bad Ragaz on recommendation of a forum member and they had a family room with a double plus a bunk (ie. two singles on top of each other)...it wasn't too expensive...the owner speaks basic english but we managed OK and from there we did the sightseeing around 'Heidiland'...
7310 Bad Ragaz
If you want to stay more in the 'city' then I'd second the suggestion to try a B&B or the Youth Hostel.
If you think finding a room for 4 is tricky...try 5!