Custom theme function and template suggestion
/**
 * Implements hook_theme().
 */
function mycustomtheme_theme($existing, $type, $theme, $path) {
  return array(
    'custom_function' =&gt; array(
      'template' =&gt; 'my-template',
      'path' =&gt; path_to_theme(),
    ),
  );
}

OR for the my-template.tpl.php file is in the module directory

/**
 * Implements hook_theme().
 */
function mycustomtheme_theme($existing, $type, $theme, $path) {
  return array(
    'custom_function' =&gt; array(
      'template' =&gt; 'my-template',
      'path' =&gt; drupal_get_path('module', 'mycustomtheme'),
    ),
  );
}