If you look at beamerbasetheme.sty file will see that \usetheme commands are defined as particular \usepackage commands. So \usetheme{my-theme-name} is converted to \usepackage{beamerthememy-theme-name}. Similar conversions are done with color, outer, ... themes.
\mode <presentation> { \def\beamer@calltheme#1#2#3{% \def\beamer@themelist{#2} \@for\beamer@themename:=\beamer@themelist\do {\usepackage[{#1}]{#3\beamer@themename}}} \newcommand\usetheme[2][]{\beamer@calltheme{#1}{#2}{beamertheme}} \newcommand\usecolortheme[2][]{\beamer@calltheme{#1}{#2}{beamercolortheme}} \newcommand\usefonttheme[2][]{\beamer@calltheme{#1}{#2}{beamerfonttheme}} \newcommand\useoutertheme[2][]{\beamer@calltheme{#1}{#2}{beameroutertheme}} \newcommand\useinnertheme[2][]{\beamer@calltheme{#1}{#2}{beamerinnertheme}} }
So if you want to place all your theme files inside a folder inside your working folder, the best solution I can provide is using \usepackage{theme-folder/my manually translated theme name}.
There is a better solution which I cannot provide which consist in hacking previous command with a fourth parameter consisting in your theme folder. Use these new commands while working whith your theme and forget them when you finish it and move all theme files to a regular tex folder.
\usepackage{theme\beamerthememy-theme}instead ofusetheme?