If we want to turn altcoin to cash, will we need to sell it for BTC first, and then send the BTC to service for conversion to USD/EURO before finally to bank?
As said, depends on your altcoin. If it's an unknown one, your path is correct.
I want to add that you'll need KYC for this and beware: some banks don't accept money transfers from exchanges; some banks may lock/investigate your account if you get suddenly very big amounts of money; some banks may lock/investigate your account if the incoming money comes from too many different sources (and maybe some were even asking for refund) - worthy knowing if you plan localbitcoins and such.
This is one of the problems in several banks, so an additional suggestion from me if you want to send your money from the exchange to the bank, especially in large amounts, it's better not to do it all at once, do it in stages. I think today many exchanges provide direct shipping services to banks using various coins, not just BTC. so you only need to choose to trade coins other than BTC for you to convert into FIAT money.