How to obtain pure alcohol from mixture of alcohol & carbonyl? (Grignard experiment)
I rather doubt that there is a better option in general. Other possible methods are 


distillation
To give an example, acetone has a boiling point of 56 °C, while tert-butanol boils at 82 °C.
column chromatography on silica


But in many cases, your suggestion to separate the compounds by crystallization is a good idea. This is in particular true when your product has a high boiling point and/or you have to purify large amounts of substance.