There are two issues here. First, saying thank you to people is basic good manners, everybody agrees on that. Second, whether teachers who go above and beyond are more deserving of a thank you than other professionals who go above and beyond. There are many professional situations which require people to go away from home (paying childcare) and are not paid extra, so colleagues who never do the extra get the same pay as those who bother and incur childcare costs.
Having said that, dd has not been on a residential yet but I say 'thank you' to the teacher all the time, probably every time we have a conversation. That's not thank you for anything specific they have done, it's just 'thank you for teaching my child, thank you for being the person who spends so many hours with my child every day'. Same thing to the childminder before she started school: 'thank you our childminder!' It wasn't a thank you for anything specific, so not 'thank you for taking her to the park'. I don't think thanks has to be linked to specific things otherwise you'd be listing everything down that they did.
I think that's what pp are saying they wouldn't SPECIFICALLY say 'thank you for taking them on the residential and spending sleepless nights looking after them' but I'm sure they say 'thank you' generally when talking to teachers, as anybody would.
I always thank bus drivers when I get off the bus but I wouldn't send a card saying 'thank you for avoiding that obstacle on the road that day, I really appreciated your bus-driving skills'.
Gifts to teachers, yes, at the end of every term. Again, not for a specific thing they did, just for being the lovely teacher! I think it's weird to say that you did an extra special thing and you want a specific thanks for that thing.