Expressing "should do" with こと・べき・もの


> 上手{じょうず} に なりたければ もっと 練習{れんしゅう} する **[こと/べき/もの]** だ

As per my understanding, all the 3 options seem appropriate above.  
Is that correct?  
If so, are there any quirks or exceptions?




They all work. None are particularly conversational though, so usage differs.
することだ is quite strong, so you would use it sparingly. In fact, I'd say for the
first two, a better translation is "you must..."

For "should do...", I'd recommend looking up:

するほうがいい/したほうがいい  
しなければなりません/しないといけない

