All caps or all lower is a bit like going through the whole thing with a rough cleaver instead of with a precision scalpel. For example using all caps will make titles with roman numerals very ugly (often used in classical music). Usually I use masstagger (again) with a personalized script:
$replace(%TITLE%, Is , is , Has , has , Iii, III, Iv, IV, Ii, II, Viii, VIII, Vii, VII, Ix, IX, Vi., VI., Of , of , The , the , In , in , A , a , An , an , And , and ,.a,.A,.b,.B,.c,.C,.d,.D,.e,.E,.f,.F,.g,.G,.h,.H,.i,.I,.j,.J,.k,.K,.l,.L,.m,.M,.n,.N,.o,.O,.p,.P,.q,.Q,.r,.R,.s,.S,.t,.T,.u,.U,.v,.V,.w,.W,.x,.X,.y,.Y,.z,.Z,-a,-A,-b,-B,-c,-C,-d,-D,-e,-E,-f,-F,-g,-G,-h,-H,-i,-I,-j,-J,-k,-K,-l,-L,-m,-M,-n,-N,-o,-O,-p,-P,-q,-Q,-r,-R,-s,-S,-t,-T,-u,-U,-v,-V,-w,-W,-x,-X,-y,-Y,-z,-Z, $char(39)a, $char(39)A, $char(39)b, $char(39)B, $char(39)c, $char(39)C, $char(39)d, $char(39)D, $char(39)e, $char(39)E, $char(39)f, $char(39)F, $char(39)g, $char(39)G, $char(39)h, $char(39)H, $char(39)i, $char(39)I, $char(39)j, $char(39)J, $char(39)k, $char(39)K, $char(39)l, $char(39)L, $char(39)m, $char(39)M, $char(39)n, $char(39)N, $char(39)o, $char(39)O, $char(39)p, $char(39)P, $char(39)q, $char(39)Q, $char(39)r, $char(39)R, $char(39)s, $char(39)S, $char(39)t, $char(39)T, $char(39)u, $char(39)U, $char(39)v, $char(39)V, $char(39)w, $char(39)W, $char(39)x, $char(39)X, $char(39)y, $char(39)Y, $char(39)z, $char(39)Z)
It's not perfect but it's better than all caps. If you're going to go this route and use something similar take note on the use of spaces in the replace command. For example $replace(, Is , is ,) is between spaces so when "Is" is the first word of a title it won't get altered.
Also in the masstagger chain precede it with an all caps actions and set the above script twice as two separate actions within masstagger because the script will only change one item at a time.