However, Jim's proposal shouldn't need so if the \ is only treated as a escape character if followed by | (would still break some current code at templates and parserfunction, but much less).
How would you write it when you actually want the , then? Any time you have an escape character, you need some way to escape the escape character when you want to use it literally. You can't just use \|, since what happens if you want \ literally? If \ is going to be an escape character anywhere, it needs to be one everywhere. It's the only way that works (and, as already said, it doesn't work very well).