How can median wages be significantly different in two neighboring countries with open borders?
The underlying reason are probably differences in labor productivity. Assuming decreasing marginal productivity of labor, the real question is why migration flows do not equate labor productivity and wages as would be predicted by simple GE models.

I can think of several factors:


Moving is costly
Czech people in Germany are not as productive as Germans in Germany, because they don't speak German. 
People prefer to
live in their home country even if that means earning lower wages.


That being said, I guess that wages in the Czech Republic have been growing much faster than in Switzerland or Germany and the gap is indeed closing slowly.