Chiel, your code is good. But it returns too many unneeded values, try for example with this list:
Test = {0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0};
SequenceCases[ ] was introduced in 2015 (10.1) and is like Cases[ ] terribly inefficient. If your list has over 3 000 elements, then you can forget about the solution with SequenceCases[ ]. The solution with StringCases[ ] will work superfast even with lists with over 1 000 000 elements. I've tested it with test lists:
SeedRandom[0];
Test = RandomChoice[{0.3, 0.7} -> {1, 0}, 1000000];
The trick to convert a regular list into a string is not a trick but a common thing to do when dealing with huge lists plus a pattern matcher.