open_channel command has --public argument that makes the channel being announced, but I can't find much documentation about it. Historical documents mention Electrum only create private channels and this argument is not even mentioned.
Can Electrum route through publicly announced channels? If not, what's the use case?
The same function a private channel does is still what a public channel do, the difference is open_channel is revealed to the entire network, which mean others can use it to pass payment and receive funds, there is basically no much difference in what they do.
Electrum creates private channel by default because Electrum was created to be a privacy wallet and using a privacy channel is what shows the wallet is exactly following its actually aim of enhancing privacy, since only you and the other party can pass payments through the channel.
You can also manually create public channel using Electrum, and it will still route payments.