I wouldn't use witful in your precast set as BLM- last thing you want is casting in your precast set. Also af3+2 hat gives 12% casting reduction off elemental magic.
Your fast cast sets should look
something like this:
Elemental Magic Fast Cast Set
Fast Set for all other spells.
If you don't have anhur robe. ACP body with +5 fast cast is good too. Also Augur's gaiters work for fast cast on feet slot.Also rubeus feet/hands provide +4 fast cast. As for nuking set @Kelhor nuking set is a good example.
Here is a sample from my XML
Code
<set name="Fastcast">
<head>Goetia Petasos +2</head>
<lear>Loquacious Earring</lear>
<rring>Prolix Ring</rring>
<waist>Ninurta's Sash</waist>
<body>Anhur Robe</body>
<legs>Rubeus Spats</legs>
<hands>Rubeus Gloves</hands>
<back>Swith Cape</back>
<neck>Stoicheion Medal</neck>
</set>
<set name="EnhaFast" Baseset="Fastcast">
<!-- -%Enhancing cast time gear -->
<head>Nares Cap</head>
<waist>Siegel Sash</waist>
</set>
<set name="CureFast" Baseset="Fastcast">
<head>Nares Cap</head>
<body>Heka's Kalasiris</body>
</set>
Then under rules to implement my fast cast sets i use this
Code
<if skill = "HealingMagic">
<equip when="precast" set="CureFast"/>
<if Spell="Cure*">
<equip when="midcast" set="Curing">
<waist lock="t">Korin Obi</waist>
<back lock="t">Twilight Cape</back>
</equip>
</if>
<else>
<equip when="midcast" set="Haste"/>
</else>
</if>
<if skill = "EnhancingMagic">
<equip when="precast" set="EnhaFast"/>
<if Spell="Stoneskin*">
<equip when="midcast" set="Stoneskin" />
</if>
<else>
<equip when="midcast" set="Enhancing"/>
</else>
</if>
<if skill = "ElementalMagic">
<equip when="precast" set="FastCast"/>
<equip when="midcast" set="Nuking"/>
</if>