A raycast seem to be a correct solution to me. Directional lights don't perform raycasts, they perform projections on the graphic card, which is different and not easy to get from gameplay code.
You can pick any position and throw a ray in the sky where the sun is, at a decently big distance (like camera's far clip distance). If it hits anything, then the point you started from is in shadow. You may want to correctly setup collision shapes, no need for exact match though.
You might also want to exclude transparent stuff or invisible walls, by putting them in a separate collision layer.
Also, you might want to refine what you mean by "tile in shadow". With directional lights, a tile can be fully lit, partially lit, or completely in shadow. If you use a raycast, it all depends from which position on the tile you cast it, as it will give you this information in one single point in space.
But you could find better solutions by thinking about your game rules ;)