Если у вас есть устройство, на котором возможно выполнение внешних программ, то хранить эти программы следует на внутренней памяти. На с'ёмных накопителях должны быть только данные. Даже если вы думаете, что накопитель всегда будет в устройстве, в любой момент может понадобиться использовать другие данные или текущий накопитель может понадобиться в другом месте. А потом окажется, что у вас либо нет ПО для работы с необходимыми данными (потому что они на другом накопителе), либо у вас нет ни ПО, ни данных (если накопитель унесли).
Есть, правда, некоторые случаи, когда держать программы на с'ёмном накопителе допустимо. В основном это бывает, когда программа не предназначена для работы с внешними данными, однако её собственные данные занимают довольно много места и хранение во внутренней памяти либо невозможно, либо нецелесообразно. Игра -- типичный пример такого ПО.