Can report from the trenches of a major software consulting firm: putting a sharp engineer who's even reasonably good at communicating in front of the C-suite is 5-20x more effective than using someone with an MBA.
My role evolved in that direction, mostly because I was okay with it. Other roles can be designed to be cross-functional from the beginning. Generally it's a useful application of engineering time if it's a high-leverage situation with decision-makers in the room and meaningful potential deal value at stake.
The best use of an engineer’s time is whatever makes the company the most money. If talking to customers C-level people is a weekly requirement for that, then that is what the engineer needs to do.
That's true if the company and the engineers exist in vacuum.
Very often, the engineer would get frustrated with this and look for work which is more interesting. That way, the company will be, increasingly, left with engineers who are there because they have no alternative.