I think I once or twice gave a customer to an engineer and it was at the engineer’s suggestion each time, typically because this was having a call so they could try to resolve the issue faster and not have the delay of me relaying info between each party. It was always at the engineer’s suggestion and always obvious that the customer was technical enough to speak to the engineer.
But there are also cases where I think it’s good to rotate engineers and other staff through support roles. It can be a way of preventing different parts of the company from getting too distant from the customer’s actual experience. Kind of a related concept to dogfooding your product. Sometimes it’s easier to ignore a problem when you can set an arbitrary threshold and say you need a certain number of complaints before you’ll investigate. It can also be good to get your support people out to events where they will encounter happy customers. When all you’re dealing with is people having problems it can start to give you a negative view of your own products and the people making them, even if the problems are actually pretty rare and only affecting <5% of customers. The company where I worked support used to rotate sending a support person to the trade shows partly for that reason. Generally in our industry the products were beloved. Unfortunately the company was bought by a conglomerate shortly before I started and they put an end to that by the time I could’ve gone.