I figured it out!
You can use this Templater script:
<%*
let folders = await app.vault.getAllLoadedFiles()
.filter(x => x instanceof tp.obsidian.TFolder);
let move_to_folder = await tp.system.suggester(folders.map(f => f.path), folders, false, "", 20);
if (move_to_folder !== null) {
let my_folder_path = tp.file.folder(true);
let my_folder = app.vault.getAbstractFileByPath(my_folder_path);
let folder_name = my_folder.name;
let new_folder_name = move_to_folder.name;
let new_folder_path = move_to_folder.path + "/" + folder_name;
// move folder to new path
await app.vault.rename(my_folder, new_folder_path);
new Notice('Successfully moved ' + folder_name + ' to ' + new_folder_name, 2800);
}
%>
The key here was tp.system.suggester, which allows you to create a dialogue similar to the move note dialogue in Templater.