Creating the procedure in each form will be faster, but don't do it.
Imagine it like this... You're putting up a shelf in your house, and you need a screw driver. If the screw driver is in the same room as you are, you'll get the screw driver sooner than if you have to go to the garage to get it.
Now, as silly as it seems, imagine you find a defect in the screw driver. You must go to every room in your house and fix the screw driver. Instead, if you had just one screwdriver, and you always keep it in the garage, then you only need to fix one screwdriver.
By using private functions within a form, performance will be slightly better. In fact, the difference in time would probably be measured in micro-seconds. Seriously, the difference in performance will never be noticed. You're problem is that the performance of the function is slow, not where the function resides. By keeping the subroutine public in a shared module, you will improve the quality of your app by reusing code. Find a bug, fix it once, and it's fixed for all forms that use it.
You should focus your energy in to fixing the performance of that subroutine.
-George
Strong and bitter words indicate a weak cause. - Fortune cookie wisdom