Actually I would consider pgr_connectedComponents() a solution. It is not what I was initially looking for and introduces a dependency, but it is really short.
Considering the solution I was looking for it came to my mind that might that it might not require a recursive CTE. Walking all points and flood filling from each should do.