As a junior i often wrote "Hi, do you have a moment? (ok if not)" in slack (or lync at the time) to senior people when I had questions. I then didn't expect a reply unless the senior person was not busy or bored. If no reply within 5 mins I would ask the next person.
I did this when I had a question that perhaps 20 people who I knew could answer, though I had no way of telling who (if anyone) was free to chat something over with me. I didn't send a group email as the projects that I was working on contained need to know stuff, so sending details of it to 20 people would be a no-go but saying I spoke about this with Bob, here is the audit trail would be fine.
I still think that this was optimal in that situation, though I often see it derided with no better option suggested.
The optimal approach is to ask your question in a public channel.
Then all 20 people get to see it at once, they can see if someone else already responded and other people on the team who may have been wondering about something similar also get to see the question and the answer(s).
In my experience, writing in a public channel gets slower responses, if any. Especially if nobody knows the exact solution to your problem. Some people don't have notifications enabled for group chats / public channels, and even if they see the message they may think "someone else will reply".
Asking someone directly almost always results in a quick response, even if it is a "I don't know" answer. And an "I don't know" from a senior colleague can mean a lot, for example that the problem is much harder than you initially thought.
Which will lead to the senior colleagues being swamped by questions that a junior could have answered.
Ticket or bust. That way the question can go the proper way from cheap junior supporters to expensive senior ones (if necessary). It can be prioritized, subject to an SLA like time to first answer or time to solution. And the whole ticket can be searched and reused as documentation for identical/similar questions.
In that case I felt like I would interrupt the workflow of more people (i needed the answer within an hour so there would have to be a notification of some sort), share more information than was necessary (auditors don't like that) and court answers from people who I knew weren't really competent in that area but liked showing off for career reasons who were quick to 'solve' the question and would use it to try and show their superiority compared to you to others.
There is also the bystander effect - i.e. yelling call 911 vs asking someone directly to call 911
Suggestion for better option: ask your question in the first message (so they have a feel for how long the "moment" might take, and/or potentially can ask it right away), and ask it in public where everybody can see it.
I'd be OK with skipping that last option; asking for help is hard enough as it is, and I can imagine people not wanting to flaunt their imagined ignorance. Which is also why it's good for more senior people to do it, so they can set that culture that shows that it is OK.
I would ask the question that I wanted to ask immediately in the next message (usually after 'whats up'), as I didn't want to have people think about my problem rather than their problem if they were deep into something.
We were also told not to share things about projects with other staff unnecessarily.
I did this when I had a question that perhaps 20 people who I knew could answer, though I had no way of telling who (if anyone) was free to chat something over with me. I didn't send a group email as the projects that I was working on contained need to know stuff, so sending details of it to 20 people would be a no-go but saying I spoke about this with Bob, here is the audit trail would be fine.
I still think that this was optimal in that situation, though I often see it derided with no better option suggested.