It depends on what you want.
Alakazam has notable speed and good power, however weak in any other things else.
Alakazam works well as a revenge killer, as it can switch in after one of your Pokemon is fainted and revenge before the foe moves due to its high speed.
Or, Alakazam can act as a lead sweeper. Since it has quite a wide move pool, it gets quite a good coverage. With its power and speed, just sweep, but be careful when choosing the correct moves.
On the other hand, Machamp is infamous for its "no guard" dynamic punch, which is a deadly threat to most of the Pokemon. However, it is slow, but it does has the bulk to land some attack before it is KO-ed. Machamp has great coverage too, it just need some baton pass/ tail wind support to make it a sweeper.
And also note that, Machamp and Alakazam is NOT in the same tier. You should think of what tier of your team is participating before you make a choice. Machamp is in UU while Alakazam is in OU.
Hope I helped, happy building team!