I like your solution (just using a blocking chan read) -- less ceremony (simpler) and will achieve the same thing for my use case.
I think it's better to useselect {}when you want to block forever. The select statement is one line and that one line communicates the intent.