1. There are curtains on the window.
This sounds OK to me. It is the only one which suggests a natural position. 'On' suggests that they are connected i.e. hanging from a rail attached to the window.
2. There are curtains at the window.
This does not sound very natural to me. 'At' is quite vague, and doesn't seem to suggest that they are attached. A person could be 'at the window', for example if they in a position where they can look out of the window and observe what is happening outside.
3. There are curtains by the window.
This is correct, but has a different meaning.
It suggests that the curtains are somewhere near to the window. Perhaps I'm asking someone to hang up some curtains for me, and I'm telling them that the curtains are in a pile close to the window.
In the real world, we'd probably say 'The window has curtains' e.g. "The bedroom window has curtains, but the kitchen window has blinds'.