Yes, though it varies. Being a programmer is akin to puzzle-solving, so if I'm working in a language I enjoy, on a part of a codebase that presents an engaging problem, and without someone else's bugs and bad design impeding me, then flow is relatively easy to achieve.
It helps that my PC is configured very specifically for this - between a good ergo keyboard and numerous linux customizations designed to avoid context-switching (ex. needing to reach for the mouse), it's very much a built-for-purpose programming setup.
Unfortunately, my work currently centers around the Godot game engine, which I have gradually come to hate due to questionable design and implementation decisions that are too numerous to list here.
Those snags are killer for causing frustration, stress and anxiety through various means, so the frequency of flow more or less depends on "are you writing GDScript or a Rust module today?", with the latter being a significantly better experience by virtue of getting me further away from the busted stuff and closer toward an ecosystem that goes out of its way to assist the user instead of fighting them.
When the flow does happen though, that sense of getting shit done and getting it done optimally is a great feeling.