In a food processor or large bowl, combine flour, salt, and sugar. Add cold cubed butter and pulse until coarse crumbs with pea-sized butter pieces remain. Add ice water one tablespoon at a time, mixing just until dough comes together. Divide into two discs, wrap, and refrigerate for at least one hour.
If using fresh cherries, wash and pit them over a bowl to catch juice. If using frozen cherries, thaw completely in a colander set over a bowl to drain excess liquid. Measure out 5 cups of pitted cherries.
In a small bowl, whisk together sugar and cornstarch. Sprinkle over cherries and toss gently to coat. Stir in lemon juice, almond extract, and a pinch of salt. Let filling sit for 15 minutes to release juice and dissolve cornstarch.
On a lightly floured surface, roll the larger disc of dough into a 12-inch circle. Transfer to pie dish, pressing into bottom and up sides without stretching. Trim overhang to 1 inch and refrigerate while preparing filling and top crust.
Pour filling into chilled bottom crust and spread evenly. Dot the top with small pieces of butter.
Roll the second dough disc into a 12-inch circle and cut into 3/4-inch strips. Lay half the strips across the pie in one direction. Weave the remaining strips perpendicular, folding back alternating strips as you go. Trim excess and fold bottom crust over the lattice ends. Crimp edges decoratively.
Brush egg wash over lattice and crimped edges. Sprinkle generously with coarse sugar. Refrigerate or freeze assembled pie for 15-20 minutes while oven preheats.
Preheat oven to 400°F. Place pie on a rimmed baking sheet and bake for 20 minutes. Reduce temperature to 375°F and bake 30-35 minutes more until crust is deep golden and filling bubbles thickly. Use a pie crust shield if edges brown too quickly.
Transfer pie to a wire rack and cool for at least 3 hours at room temperature to allow the filling to set properly before slicing.